順序隊列基本操作的實現----入隊、出隊、打印

以順序存儲結構對隊列進行操作----入隊、出隊、打印並判斷隊列現有長度(以類的形式)


程序如下:

queue.h  頭文件

#pragma once 
#include <iostream>

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;


}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章