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...
-
XE(제로보드) 내 게시판의 첨부용량 변경 ㅁ 개요 ↑ XE 구축시 초기 첨부파일 용량은 2M로 제한되어 있음에 데이터 자료실을 만들기 위해 용량을 명령어를 이용하여 추가 혹은 감소 시키도록 하고자 한다. ㅁ 구현 ↑ 처음 ...
-
일단 ssh 프로그램으로 apm 셋팅을 하려고 했으나 apt-get이 계속 파일 위치를 잡지 못했다. (404 not found....) 그래서 구글링 결과 apt의 리스트 변수 목록을 제거하고 새로 업데이트 하는 명령어를 찾음 :)...
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.