〈〈算法与数据结构》课程
教师评阅意见:
签名:
年月
日
实验成绩:
一、实验目的
掌握队列的存储结构及进队/出队等操作的实现。
二、实验内容及要求
实现队列的一种存储结构。
实现队列的相关操作。
利用队);
friendostream&operator<<(ostream&os,Queue<T>&Q);private:
intrear,front;
T*elements;
intmaxSize;
};
template<classT>
Queue<T>::Queue(intsz)(
rear=0;front=0;
maxSize=sz;
elements=newT[maxSize];
assert(elements!=NULL);//断]f:动态存储分配成功与否}
template<classT>
boolQueue<T>::EnQueue(T&x){
if(IsFull()==true)returnfalse;
elements[rear]=x;
rear=(rear+1)%maxSize;
returntrue;
}
template<classT>
boolQueue<T>::DeQueue(T&x){
if(IsEmpty()==true)returnfalse;
x=elements[front];
front=(front+1)%maxSize;
returntrue;
}
template<classT>
boolQueue<T>::getFront(T&x){
if(IsEmpty()==true)returnfalse;
x=elements[front];
returntrue;
}
template<classT>
boolQueue<T>::IsEmpty(){
return(front==rear)?true:false;
}
template<classT>
boolQueue<T>::IsFull(){
return((rear+1)%maxSize==front)?true:false;
}
template<classT>
intQueue<T>::getSize(){
return(rear-front+maxSize)%maxSize;
}
template<classT>
ostream&operator<<(ostream&os,Queue<T>&Q){
os<<"front="<<<<",rear="<<<<endl;
for(inti=;i!=;i=(i+1)%){os<<i<<":"<<[i]<<endl;
}
returnos;
七、测试结果与说明
n为4时杨辉三角输出为:
「\Project1\Oebug\Pro
作:如什康;4
1
I1
121
1331
n为10时杨辉三角输出为:
■F:\jm^^VS2017\^?!j\Project1\Debug\Project1,exe
输入行数:
10
数据结构实验报告—队列 来自淘豆网m.daumloan.com转载请标明出处.