欢迎来到天天文库
浏览记录
ID:55146472
大小:56.51 KB
页数:7页
时间:2020-04-28
《ch3顺序队列作业.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章顺序队列习题13.113.243.34第3章顺序队列习题3.1用一个数组、头指针和元素个数合在一起所构成的结构来存储顺序队列,设计算法以实现队列的各运算。解:【结构定义和算法描述】//这是一个变形的普通顺序队列结构//数据成员中取消了尾指针rear成员,增加了一个元素个数count成员//定义相关符号#defineMaxLen10typedefintelementType;//顺序队列类描述classQueue{public:Queue();//初始化队列boolempty();//判断队空boolfull();//判断队满boolgetFront(e
2、lementType&x);//取队头元素boolenQueue(elementTypex);//入队booloutQueue();//出队voidprint();//打印队列元素(队头到队尾)private:elementTypedata[MaxLen];//存放队列元素intfront;//队头指针intcount;//元素个数};//----------------------------------------------------------------------//1.初始化顺序队列Queue::Queue(){front=-1;//初始化空
3、队列7count=0;//队列元素个数为0}//----------------------------------------------------------------------//2.判队空boolQueue::empty(){if(count==0)returntrue;//队空,返回trueelsereturnfalse;}//----------------------------------------------------------------------//3.判队满--存在假溢出boolQueue::full(){if(coun
4、t==MaxLen)returntrue;//真正队满elseif(front==MaxLen-1){cout<<"<--假溢出-->"<5、;//队头元素取到变量x。front指示的下一个单元才是队头元素returntrue;//取队头成功,返回true}}//----------------------------------------------------------------------//5.入队(插入)boolQueue::enQueue(elementTypex)7{if(full())returnfalse;//队满,入队失败,返回falseelse{data[count]=x;//插入元素count++;returntrue;//插入成功,返回true。}}//------6、----------------------------------------------------------------//6.出对(删除)boolQueue::outQueue(){if(count==0)returnfalse;//队空,出队失败,返回falseelse{front++;//队头指针后移一个单元,元素并未真正删除count--;returntrue;//出队成功,返回true}}//----------------------------------------------------------------------//7.打7、印队列元素(从队头到队尾)voidQueue::print(){inti;if(empty())cout<<"空队列!"<8、大长度为MaxLen,头指针和尾指针分别为front
5、;//队头元素取到变量x。front指示的下一个单元才是队头元素returntrue;//取队头成功,返回true}}//----------------------------------------------------------------------//5.入队(插入)boolQueue::enQueue(elementTypex)7{if(full())returnfalse;//队满,入队失败,返回falseelse{data[count]=x;//插入元素count++;returntrue;//插入成功,返回true。}}//------
6、----------------------------------------------------------------//6.出对(删除)boolQueue::outQueue(){if(count==0)returnfalse;//队空,出队失败,返回falseelse{front++;//队头指针后移一个单元,元素并未真正删除count--;returntrue;//出队成功,返回true}}//----------------------------------------------------------------------//7.打
7、印队列元素(从队头到队尾)voidQueue::print(){inti;if(empty())cout<<"空队列!"<8、大长度为MaxLen,头指针和尾指针分别为front
8、大长度为MaxLen,头指针和尾指针分别为front
此文档下载收益归作者所有