实验二:顺序队列的验证实验

源代码:

# include<iostream>

using namespace std;

const int MaxSize=100;

template<class DataType>

class SeqQueue

{

public:

SeqQueue();

~SeqQueue();

void Push(DataType x);

DataType Pop();

DataType GetFront();

int Empty();

private:

int front;

int rear;

DataType data[MaxSize];

};

template<class DataType>

SeqQueue<DataType>::SeqQueue()

{

front=0;

rear=0;

}

template<class DataType>

SeqQueue<DataType>::~SeqQueue()

{

cout<<"DesTroy SeqQueue!\n";

}

template<class DataType>

void SeqQueue<DataType>::Push(DataType x)

{

if(rear==MaxSize-1) throw"上溢";

else

data[rear]=x;

rear++;

cout<<x<<endl;

}

template<class DataType>

DataType SeqQueue<DataType>::Pop()

{

DataType x;

if(front==-1) throw"下溢";

else

x=data[front];

front++;

return x;

}

template<class DataType>

DataType SeqQueue<DataType>::GetFront()

{

if(rear!=front) return data[front];

}

template<class DataType>

int SeqQueue<DataType>::Empty()

{

if(rear==front) return 1;

else return 0;

}

int main()

{

     SeqQueue<int> S;

 if(S.Empty())

 cout<<"The SeqQueue is empty!"<<endl;

 else

 cout<<"The SeqQueue is not empty!"<<endl;

 int i;

 for(i=10;i>1;i--)

 S.Push(i);

 cout<<"执行两次出队操作!"<<endl;

 S.Pop();

 S.Pop();

 cout<<S.GetFront()<<endl;

 return 0;

}

程序结果:

猜你喜欢

转载自blog.csdn.net/LIU_JY_/article/details/80041249