<実行例> (4.2Aと同じ実行です) a is enqueued b is enqueued c is enqueued List(Queue) a b c a is dequeued b is dequeued List(Queue) c d is enqueued c is dequeued e is enqueued List(Queue) d e
(STEP3.2のlist.oを再利用できるので、list.cを再コンパイルしなくてもよい)
gcc -c list.c
gcc -c 0401.c
gcc -o 0401 list.o 0401.o
解答例 以下、0402c.c #include "list.h" void enqueue(List *L, char x); char dequeue(List *L); /* エンキューとデキューを、定義 */ void enqueue(List *L, char x) { } char dequeue(List *L) { char deq; return(deq); } int main(void){ char x; List *L; L=create(); enqueue(L,'a'); printf("a is enqueued \n"); enqueue(L,'b'); printf("b is enqueued \n"); enqueue(L,'c'); printf("c is enqueued \n"); printf("\n List(Queue)"); printlist(L); printf("\n"); x=dequeue(L); printf("%c is dequeued \n", x); x=dequeue(L); printf("%c is dequeued \n", x); printf("\n List(Queue)"); printlist(L); printf("\n"); enqueue(L,'d'); printf("d is enqueued \n"); x=dequeue(L); printf("%c is dequeued \n", x); enqueue(L,'e'); printf("e is enqueued \n"); printf("\n List(Queue)"); printlist(L); printf("\n"); /* while(!empty(L)){ printf("%c",access(L,1)); delete(L,1); } printf("\n"); */ FreeData(L); return(0); }