- 346 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 17:55:56 ]
- void dequeueを↓に変更
int dequeue(struct queue *Q){ /* デキューする関数 dequeue の定義 */ struct cell *q; /* キューの先頭(デキューされるセル)を指す*q の宣言 */ int x; if(Q->front == NULL) { /* Q->front がNULL(キューが空状態)であれば */ printf("空状態のためデキューできません。\n"); /* 左記のメッセージを画面に表示して */ exit(1); /* プログラムを終了 */ } else { /* Q->front がNULL(キューが空状態)でなければ */ q=Q->front; /* ポインタ変数*q はキューの先頭を指す */ x=q->element; Q->front = (Q->front)->next; /* キューの先頭(Q->front)を置き換える */ free(q); /* デキューされたセルのメモリを解放 */ } if(Q->front == NULL){ /* Q->front がNULL(キューが空状態)であれば */ Q->rear = NULL; /* キューの初期化 */ } return x; } あとmain()内の dequeue(&Q); printf("dequeue します: "); を printf("dequeue() %d : ",dequeue(&Q)); にすればいけると思う
|

|