您所在位置: 网站首页 / 数据结构实习报告编辑精选.docx / 文档详情
数据结构实习报告编辑精选.docx 立即下载
2025-08-27
约1.1万字
约19页
0
18KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构实习报告编辑精选.docx

数据结构实习报告编辑精选.docx

预览

免费试读已结束,剩余 14 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

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;}}}//删除队头元素并返回
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据结构实习报告编辑精选

文档大小:18KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用