1.請使用陣列方式建立佇列
2.請於程式中加入功能如下: [1]存入 [2]取出 [3]顯示全部…
[1]存入 : 詢問輸入存入值
[2]取出 : 顯示取出佇列元素
[3]顯示全部 :顯示輸入佇列的元素/取出佇列的元素/剩下佇列的元素
3.功能參考(ch6-2-2.c)
1 2 3 4 5 6 7 8 9 | /* 程式範例: Ch6-2-1.h */ /* 佇列的最大容量 */ int queue[MAXQUEUE]; /* 佇列的陣列宣告 */ int front = -1; /* 佇列的前端 */ int rear = -1; /* 佇列的尾端 */ /* 抽象資料型態的操作函數宣告 */ extern int isQueueEmpty(); extern int enqueue(int d); extern int dequeue(); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | /* 程式範例: Ch6-2-1e.c */ /* 函數: 檢查佇列是否是空的 */ int { if ( front == rear ) return 1; else return 0; } /* 函數: 將資料存入佇列 */ int enqueue(int d) { if /* 是否超過佇列容量 */ return 0; else { queue[++rear] = d; /* 存入佇列 */ return 1; } } /* 函數: 從佇列取出資料 */ int dequeue() { if ) /* 佇列是否是空的 */ return -1; else return queue[++front];/* 取出資料 */ } /* 主程式 */ int { int input[100], output[100]; /* 儲存輸入和取出元素 */ int select = 1; /* 選項 */ int numOfInput = 0; /* 陣列的元素數 */ int numOfOutput = 0; int i, temp; printf("鏈結串列的佇列處理......\n"); while { /* 主迴圈 */ printf("[1]存入 [2]取出 [3]顯示全部內容 ==> "); scanf("%d", &select); /* 取得選項 */ switch { case 1: /* 將輸入值存入佇列 */ printf("請輸入存入值(%d) ==> ", numOfInput); scanf("%d", &temp); /* 取得存入值 */ enqueue(temp); input[numOfInput++] = temp; break; case 2: /* 取出佇列的內容 */ if ) { temp = dequeue(); printf("取出佇列元素: %d\n", temp); output[numOfOutput++] = temp; } break; } } printf("輸入佇列的元素: "); /* 輸入元素 */ for printf("[%d]", input[i]); printf("\n取出佇列的元素: "); /* 輸出元素 */ for printf("[%d]", output[i]); printf("\n剩下佇列的元素: "); /* 取出剩下佇列元素 */ while ) printf("[%d]", dequeue()); printf("\n"); system("PAUSE"); return 0; } |
執行結果:
鏈結串列的佇列處理......
[1]存入 [2]取出 [3]顯示全部內容 ==> 1
請輸入存入值(0) ==> 1
[1]存入 [2]取出 [3]顯示全部內容 ==> 1
請輸入存入值(1) ==> 2
[1]存入 [2]取出 [3]顯示全部內容 ==> 1
請輸入存入值(2) ==> 3
[1]存入 [2]取出 [3]顯示全部內容 ==> 1
請輸入存入值(3) ==> 4
[1]存入 [2]取出 [3]顯示全部內容 ==> 1
請輸入存入值(4) ==> 5
[1]存入 [2]取出 [3]顯示全部內容 ==> 2
取出佇列元素: 1
[1]存入 [2]取出 [3]顯示全部內容 ==> 2
取出佇列元素: 2
[1]存入 [2]取出 [3]顯示全部內容 ==> 2
取出佇列元素: 3
[1]存入 [2]取出 [3]顯示全部內容 ==> 3
輸入佇列的元素: [1][2][3][4][5]
取出佇列的元素: [1][2][3]
剩下佇列的元素: [4][5]
請按任意鍵繼續 . .