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...
-
프루나는 이제 믿을만한 공유가 안되고 있다. 젠장. 영화 다운 받아보면 전부 야동이나 포르노류 밖에는 없다. 신고되어 있는 자료부터 보지만 신고가 안되어 있는 것은 제대로 다운도 되지 않는다. 이젠 유료 사이트를 믿을 수 밖엔... ...
-
SELinux 불린 값을 이용해서 SELinux.getBooleanValue("xxxx") SELinux.setBooleanValue("xxxx", yyyy); Policy 에도 if 문을 줄...
-
간만에 아침에 운동 갔다가 일하고 나서 피곤한 몸을 이끌고 쓰고 있다. 새벽 4시 50분에 일어났는데 나도 모르게 운동을 하러 나가게 되었다. 막 전역 했을 때 28인치던 내 허리가 지금은 36에 육박한다. 우스운 것이 배만 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.