1 / 8
文档名称:

队列实验报告.doc

格式:doc   大小:107KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

队列实验报告.doc

上传人:tswng35 2020/2/18 文件大小:107 KB

下载得到文件列表

队列实验报告.doc

文档介绍

文档介绍:、实验目的1、掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,2、队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活应用。三、、主要仪器设备及耗材VC++(1)循环队列操作的算法1>进队列Voidenqueue(seqqueue&q,elemtypex){if((+1)%maxsize==) cout<<”overflow”;else{ =(+1)%maxsize;//[]=x; }}2>出队列Voiddlqueue(seqqueue&q){if(==)cout<<”underflow”;=(+1)%maxsize;}3>取对头元素elemtypegethead(seqqueueq){if(==) {cout<<”underflow”; returnNULL;}[(+1)%maxsize]; //front指向队头前一个位置}4>判队列空否intempty(seqqueueq){ if(==)reurn1; elsereturn0;}(2).链队列操作的算法1>.链队列上的初始化voidINIQUEUE(linkqueue&s){link*p;p=newlink;p->next=NULL;//p是结构体指针类型,用->=p;//s是结构体变量,=p;//头尾指针都指向头结点}2>.入队列voidpush(linkqueue&s,elemtypex){ link*p;//p是结构体指针类型,用-> p=newlink;p->data=x;p->next=->next;//s是结构体变量,用. ->next=p; =p;//插入最后}3>判队空intempty(linkqueues){ if(==)return1; elsereturn0;}4>.取队头元素elemtypegethead(linkqueues){ if(==)returnNULL; ->next->data;}5>.出队列voidpop(linkqueue&s){link*p;p=->next;if(p->next==NULL)//链队列中只有一个元素,需要修改rear指针 {->next=NULL;=;}->next=p->next;//rear不用变delete(p);}#include<>#defineMAXN20structseq{charqueue[MAXN];intfront,rear;};voidiniq(seq&q){ ==MAXN-1;}void