前端之家收集整理的这篇文章主要介绍了
【数据结构】·【顺序队列】,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#include<iostream>
#include<assert.h>
using namespace std;
template<class T>
class SeqQueue{
public:
T *elements;
int total;
SeqQueue(){
total=-1;
elements=new T[10];
assert(elements!=NULL);
};
~SeqQueue(){};
bool EnQueue(T& x);
bool DeQueue(T& x);
bool IsEmpty(){
return (total==-1)?true:false;
}
bool IsFull(){
return (total==10)?true:false;
}
};
template<class T>
bool SeqQueue<T>::EnQueue(T& x){
if(IsFull()==true)
return false;
total++;
elements[total]=x;
return true;
}
template<class T>
bool SeqQueue<T>::DeQueue(T& x){
if(IsEmpty()==true)
return false;
x=elements[0];
total--;
for(int i=0;i<total-1;i++){
elements[i]=elements[i+1];
}
return true;
}
void main(){
SeqQueue<int> seq;
int num=1;
for(int i=0;i<5;i++){
seq.EnQueue(num);
num++;
}
for(int i=0;i<5;i++){
seq.DeQueue(num);
cout<<seq.elements[i]<<endl;
}
}
@H_
403_2@
链式队列就不敲了,和链式栈差不多。
@H_
403_2@
运行截图:
@H_
403_2@