C++ class实现顺序队列(完整代码)

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ class实现顺序队列(完整代码)相关的知识,希望对你有一定的参考价值。

代码如下:

#include <iostream>
using namespace std;
typedef int ElemType;

class SeqQueue {
	public:
		SeqQueue(int Queuesize = 100) {
			base = new ElemType[Queuesize];
			front = 0;
			rear = 0;
			size = Queuesize;
		};
		~SeqQueue() {
			delete[] base;
		};
		int Empty_Queue();
		int En_Queue(ElemType e);
		int De_Queue(ElemType &e);
		int Front_Queue(ElemType &e);
	private:
		ElemType *base;
		int front;
		int rear;
		int size;
};

int SeqQueue::Empty_Queue() {
	return (front == rear);
}

int SeqQueue::En_Queue(ElemType e) {
	if (((rear + 1) % size) != front) {
		rear = (rear + 1) % size;
		base[rear] = e;
		return 1;
	} else
		return 0;
}

int SeqQueue::De_Queue(ElemType &e) {
	if (rear != front) {
		front = (front + 1) % size;
		e = base[front];
		return 1;
	} else
		return 0;
}


int SeqQueue::Front_Queue(ElemType &e) {
	if (rear != front) {
		e = base[(front + 1) % size];
		return 1;
	} else
		return 0;
}

int main() {
	SeqQueue q(5);
	q.En_Queue(13);
	q.En_Queue(23);
	int x;
	q.De_Queue(x);
	cout << x << endl;
	q.Front_Queue(x);
	cout << x << endl;
	cout << q.Empty_Queue() << endl;
	return 0;
}

测试结果:

在这里插入图片描述

以上是关于C++ class实现顺序队列(完整代码)的主要内容,如果未能解决你的问题,请参考以下文章

C++ class实现顺序栈(完整代码)

C++ class实现静态分配顺序表(完整代码)

C++ class实现动态分配的顺序表(完整代码)

C++数据结构——顺序队列(基本代码实现与案例)

C++ class实现链栈(完整代码)

C++实现顺序串(完整代码)