c++数组实现大小固定的数列

代码

// 数组构造固定大小的队列.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;
#define NUM  5
class ArrayQuene
{
public:
	ArrayQuene(int N);
	~ArrayQuene();
	void push(int N);
	int pop();
	int peek();
	
private:
	int *array;
	int end;
	int start;
	int size;
	int length; 

};
ArrayQuene::ArrayQuene(int N)
{
	array = new int[N];
	end = 0;
	start = 0;
	size = 0;
	length = N;
}
ArrayQuene::~ArrayQuene()
{
	delete[]array;
}
void ArrayQuene::push(int element)
{
	if (size == length)
		cout << " the quene is full" << endl;
	else
		size++;
		array[end] = element;
	end = end == length - 1 ? 0 : end + 1;
}
int ArrayQuene::pop()
{
	if (size == 0)
		cout << " the quene is empty " << endl;
	else
		size--;
	int temp = start;
	start = start == length - 1 ? 0 : start + 1;
	return array[temp];
}
int ArrayQuene::peek()
{
	if (size == 0)
		return -1;
	else
		return array[start];
}

int main()
{
	ArrayQuene Quene(NUM);
	Quene.push(1);
	Quene.push(2);
	Quene.push(3);
	Quene.push(4);
	Quene.push(15);
	for (int i = 0; i < NUM; i++)
	{
		cout << "pop = " << Quene.pop() << endl;
		cout << "peek = " << Quene.peek() << endl;
		cout << endl;
	}

    return 0;
}


发布了47 篇原创文章 · 获赞 2 · 访问量 1436

猜你喜欢

转载自blog.csdn.net/weixin_42076938/article/details/104436821
今日推荐