队列的简单实现(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;
}

猜你喜欢

转载自blog.csdn.net/Zhangguohao666/article/details/83614844
今日推荐