1. 程式人生 > >佇列的簡單實現(C語言)

佇列的簡單實現(C語言)

題目:
1、建立迴圈佇列,並實現元素(4,5,7,6,8)入隊,實現迴圈佇列的建立,和入隊的基本操作;
2、實現元素(4,5,7,6,8)依次出隊並輸出。

#include<iostream>
using namespace std;
#define MaxSize 100
typedef struct{
	int *base;
	int front;
	int rear;
}Seq; 

int Init(Seq &L){    //初始化
	L.base = new int[MaxSize];
	L.front = L.rear = 0;
	return 1;
}

int Enter(Seq &L,int m){     //入佇列
	if((L.rear+1)%MaxSize == L.front){
		cout<<"佇列已滿!";
		return 0; 
	}
	L.base[L.rear] = m;
	L.rear = (L.rear + 1)%MaxSize;
	return 1;
}

int Out(Seq &L,int &m){    // 出佇列
	if(L.rear == L.front){
		cout<<"佇列空!";
		return 0;
	}
	m = L.base[L.front];
	L.front = (L.front+1)%MaxSize;
	return 1;
}

int main(){
	Seq S;
	int m;
	Init(S);
	Enter(S,4);
	Enter(S,5);
	Enter(S,7);
	Enter(S,6);
	Enter(S,8);
	
	for(int i = 0;i < 5;i++){
		Out(S,m);
		cout<<m<<" ";
	}
	return 0;
}

參考資料:
《資料結構 C語言版 第2版》嚴蔚敏 李冬梅 吳偉民