gcc 용이다. 인터넷 돌아다니는거랑 위키피데아 꺼랑 뽕짝.
#include <stdio.h>
#define MAX_VAL 100;
int cnt=0,chk,max=MAX_VAL;
struct node{
char * data;
struct node * link;
};
char *gets (char *s)
{
char * ch = s;
int k;
/* until we read a newline */
while ((k = getchar ()) != '\n') {
if (k == EOF) {
/* EOF at start of line or errors other than EOF return NULL */
if (ch == s || !feof(stdin))
return NULL;
break;
}
/* character is stored at address, and pointer is incremented */
*ch++ = k;
}
/* newline dropped and Null-terminating character added */
*ch = '\0';
/* return original pointer */
return s;
}
void push(struct node **queue){
struct node *bottom=NULL;
struct node *tmp;
char buff[1024];
tmp=(struct node *)malloc(1*sizeof(struct node));
if(chk==max){
printf("queue is full!!\n");
return;
}
printf("PUSH > ");
fflush(stdin);
gets(buff);
tmp->data=(char*)malloc((strlen(buff)+1)*sizeof(char));
strcpy(tmp->data,buff);
tmp->link=NULL;
if(*queue == NULL){
*queue = tmp;
printf("queue의 (1)에 PUSH되었습니다.\n");
}else{
bottom=*queue;
while(1){
cnt++;
if(bottom->link==NULL){break;}
bottom=bottom->link;
}
bottom->link=tmp;
chk=cnt+1;
printf("queue의 (%d)에 PUSH되었습니다.\n",chk);
cnt=0;
}
}
void pop(struct node **queue){
if(*queue == NULL){
printf("queue is empty!!\n");
return;
}else{
printf("POP queue[1] > %s\n",(*queue)->data);
if(chk==1){
(*queue)=NULL;
printf("last!!!\n");
}else{
(*queue)=(*queue)->link;
}
chk--;
}
}
int main(void){
struct node *queue=NULL;
int select;
while(1){
printf(" [..queue..]\n");
printf("==============\n");
printf(" 1. PUSH\n");
printf(" 2. POP\n");
printf(" 0. END\n");
printf("==============\n");
printf("> ");
fflush(stdin);
scanf("%d",&select);
switch(select){
case 0:
printf("good bye~\n");
if(queue!=NULL){
while(1){
if(queue){
free(queue->data);
}else if(queue->link==NULL){break;}
if(queue->link==NULL){break;}
queue=queue->link;
}
free(queue);
printf("queue is clear!!\n");
}
return 0;
case 1:
push(&queue);
break;
case 2:
pop(&queue);
break;
default :
printf("input error!!\n");
break;
}
}
return 0;
}
2011년 3월 24일 목요일
피드 구독하기:
댓글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
연휴 마지막날 아침... 산책을 하다 한장 찍어보았다. 인생도 마찬가지로 길의 끝을 모른체 선택을 해야하는 경우가 발생한다. 나중에 그 기준이 바뀔수도 있지만. 지금 기준은 많은 사람이 함께 갈 수 있는 길을 선택하고 싶다.
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
-
제로보드 세팅. sudo apt-get install apache2 mysql-server libapache2-mod-php5 phpmyadmin ssh 패키지를 이용한 소프트웨어 설치 - APM세팅 및 ssh 설치 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.