顺序队列基本操作的实现----入队、出队、打印

以顺序存储结构对队列进行操作----入队、出队、打印并判断队列现有长度(以类的形式)


程序如下:

queue.h  头文件

#pragma once 
#include 

class queue
{
private:
	int *data;
	int tail, head, len; // head 用于删除,tail 用于加入新元素

public:
	queue(int input_len)
	{
		len = input_len;
		data = new int[len];
		head = 0;
		tail = 0;
	}
	~queue()
	{
		delete []data;
	}


	void push(int element) ;//进队列
	int pop(); //出队列
	void print(); // 打印队列
	int lens (); //判断队列的长度

};

queue.cpp

#include "queue.h"
using namespace std;

void queue::push(int element)
{
	if(tail < len)
	{
		tail ++;
		data[tail] = element;
		
	}
	else 
		cout << "入队列失败,已经超出范围" << endl;

}


int queue::pop()
{
	if(head <= tail)
	{   
		head++;
		cout << "出队列的数值是" << data[head] << endl;
		return data[head];
	}
	else 
		cout <<"出队列失败" << endl;
}

void queue::print()
{
	for(int num = head+1; num<=tail; num++)
		cout << data[num] << endl;
	cout << endl;
}

int queue::lens ()
{
	cout << "lens = " << tail-head << endl;
	return tail-head;
}


测试程序:

#include "queue.h"

int main()
{
	queue que(10);
	que.lens();
	
	que.push(1);
	que.push(2);
	que.push(3);
	
	que.lens();
	que.print();
	
	que.pop();
	que.print();
	
	system("pause");
	return 0;


}



你可能感兴趣的:(数据结构与算法)