Don't doubt yourself
You can do better!
副程式 編碼/*宣告變數*/ struct Node { int data; struct Node *next; }; typedef struct Node QNode; typedef QNode *LQueue; LQueue front = NULL; LQueue rear = NULL; /*操作函數*/ extern int isQueueEmpty(); extern void engueue(int d); extern int dequeue(); /*判斷是否為空函數*/ int isQueueEmpty(){ if(front == rear) return 1; else return 0; } /**/ void engueue(int d){ LQueue new_node; new_node = (LQueue)malloc(sizeof(QNode)); new_node -> data = d; new_node -> next = NULL; if(rear == NULL) front = new_node; else rear -> next = new_node; rear = new_node; } int dequeue(){ LQueue ptr; int temp; if(!isQueueEmpty()){ if(front == rear) rear = NULL; ptr = front; front = front -> next; temp = ptr -> data; free(ptr); return temp; } else return -1; } 主程式 編碼//Ch6-2-2.c #include <stdio.h> #include <stdlib.h> #include "queue_0.c" int main(){ engueue(1); engueue(2); engueue(3); engueue(4); engueue(5); int x = dequeue(); int y = dequeue(); engueue(20); printf("%d", x); printf("%d\n", y); system("PAUSE"); return 0; }
0 評論
|
封存檔 |