複習以線性佇列的形式儲存資料。
完整程式碼:
//Queue的建立,建立一佇列(Linear Queue)
#include "pch.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 10
int que[MAX],rear=-1,front=0;
void enqueue();//新增
void dequeue();//刪除
void show();//顯示
int main()
{
char option;
while (1) {
printf("\n ------------------------------- \n");
printf(" <1>enqueue \n");
printf(" <2>dequeue \n");
printf(" <3>show \n");
printf(" <4>left \n");
printf(" ------------------------------- ");
printf("\n Please enter your choice...");
option = _getche();
switch (option) {
case '1':
enqueue();
break;
case '2':
dequeue();
break;
case '3':
show();
break;
case '4':
exit(1);
break;
default:
printf("\n Input is error! \n");
}
}
}
void enqueue() {//新增
//判斷是否會溢位
if (rear>=MAX-1) {//極限
printf("\n\nError:The linear queue is full! \n");
}
else {//新增
rear++;
printf("\n\nPlease enter the item <Integer> :\n");
scanf_s("%d",&que[rear]);
}
}
void dequeue() {//刪除
//判斷是否可刪除
if (front >= rear+1) {//空的
printf("\n\nError:The linear queue is empty! \n");
}
else {//刪除
front++;
printf("\n\nDelete the item of queue! \n");
}
}
void show(){//顯示
printf("\n\nThe linear queue list:\n");
printf("---------------------------------\n");
for (int i = front; i <= rear; i++) {
printf("| %d |",que[i]);
}
printf("\n---------------------------------\n");
}
執行結果:
_______________________________________________
我們透過閱讀,拼湊出真實世界的面貌,
並在反覆的探索及思維中,打破由自我無知與偏見所建立的籓籬。