C語言系列 : 線性佇列Linear Queue

複習以線性佇列的形式儲存資料。

完整程式碼:

//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");
}

執行結果:

_______________________________________________

我們透過閱讀,拼湊出真實世界的面貌,
並在反覆的探索及思維中,打破由自我無知與偏見所建立的籓籬。