




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据结构实习报告 第一篇:数据结构实习报告数据结构第六次作业p134——11411203张玉24.templatevoidSeqQueue::EnQueue(constT&x){//插入函数if(IsFull()==true){maxSize=2*maxSize;elements[rear]=x;rear=(rear+1)%maxSize;}elements[rear]=x;rear=(rear+1)%maxSize;};templateboolSeqQueue::DeQueue(constT&x){//删除函数if(IsEmpty()==true)returnfalse;if(rearmaxSize=maxSize/2;x=elements[front];front=(front+1)%maxSize;}x=elements[front];front=(front+1)%maxSize;returntrue;};29.//利用优先级队列实现栈和队列#includetemplateclassPQueue;//前视的类定义templateclassStack;templateclassQueue;//优先级队列结点类的定义templateclassPQueueNode{friendclassPQueue;//PQueue类作为友元类定义friendclassStack;friendclassQueue;public:PQueueNode(T&value,intnewpriority,PQueueNodepriority(newpriority),link(next){}//构造函数*next):data(value),virtualTGetData(){returndata;}//取得结点数据virtualintGetPriority(){returnpriority;}//取得结点优先级virtualPQueueNode*GetLink(){returnlink;}//取得下一结点地址virtualvoidSetData(T&value){data=value;}//修改结点数据virtualvoidSetPriority(intnewpriority){priority=newpriority;}//修改结点优先级virtualvoidSetLink(PQueueNode*next){link=next;}//修改指向下一结点的指针private:Tdata;//数据intpriority;//优先级PQueueNode*link;//链指针};//优先级队列的类定义templateclassPQueue{friendclassStack;friendclassQueue;public:PQueue():front(NULL),rear(NULL){}//构造函数virtual~PQueue(){MakeEmpty();}//析构函数virtualvoidInsert(T&value,intnewpriority);//插入新元素value到队尾virtualTRemove();//删除队头元素并返回virtualTGet();//读取队头元素的值virtualvoidMakeEmpty();//置空队列virtualintIsEmpty(){returnfront==NULL;}//判队列空否private:PQueueNode*front,*rear;//队头指针,队尾指针};templatevoidPQueue::MakeEmpty(){//将优先级队列置空PQueueNode*q;while(front!=NULL)//链不空时,删去链中所有结点{//循链逐个删除q=front;front=front->link;deleteq;}rear=NULL;//队尾指针置空}templatevoidPQueue::Insert(T&value,intnewpriority){//插入函数PQueueNode*q=newPQueueNode(value,newpriority,NULL);if(IsEmpty())front=rear=q;//队列空时新结点为第一个结点else{PQueueNode*p=front,*pr=NULL;//寻找q的插入位置while(p!=NULL&&p->priority>=newpriority)//队列中按优先级从大到小链接{pr=p;p=p->link;}if(pr==NULL){//插入在队头位置q->link=front;front=q;}else{q->link=p;pr->link=q;//插入在队列中部或尾部if(pr==rear)rear=q;}}}//删除队头元素并返回

邻家****mk
实名认证
内容提供者


最近下载
贵州省城市管理行政执法条例.doc
贵州省城市管理行政执法条例.doc
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf