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...
-
프루나는 이제 믿을만한 공유가 안되고 있다. 젠장. 영화 다운 받아보면 전부 야동이나 포르노류 밖에는 없다. 신고되어 있는 자료부터 보지만 신고가 안되어 있는 것은 제대로 다운도 되지 않는다. 이젠 유료 사이트를 믿을 수 밖엔... ...
-
Intel의 새로운 MMX - "KNI" KNI 는 Katmai New Instruction 의 약자이다 . 아는 분들은 잘 알고있겠지만 KATMAI( 이하 카트마이로 부름 ) 는 인텔의 다음번 펜티엄...
-
C:\program files\ 베이비론 폴더가 있다. 브라우저 창 다닫고 지우고 다시 실행하면 없어진다.
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.