数据结构实验队列附程序文档格式.docx
- 文档编号:4404100
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:9
- 大小:15.32KB
数据结构实验队列附程序文档格式.docx
《数据结构实验队列附程序文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构实验队列附程序文档格式.docx(9页珍藏版)》请在冰点文库上搜索。
(1)初始化并建立链队列。
(2)入链队列。
(3)出链队列。
(4)遍历链队列。
#include<
stdio.h>
stdlib.h>
#defineMAXQSIZE100
typedefstruct
{
int*base;
intfront;
intrear;
}SqQueue;
intInitQueue(SqQueue&
Q)
Q.base=(int*)malloc(MAXQSIZE*sizeof(int));
if(!
Q.base)exit(0);
Q.front=Q.rear=0;
return0;
}//初始化顺序队列
intQueueLength(SqQueueQ)
{
inti;
i=(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;
printf("
队列长度%5d\n"
i);
if(i)printf("
队列非空"
);
else
printf("
队列为空"
}//判断队列是否为空
intEnQueue(SqQueue&
Q,inte)
if((Q.rear+1)%MAXQSIZE==Q.front)return0;
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)%MAXQSIZE;
}//将元素e入队
intDeQueue(SqQueue&
if(Q.front==Q.rear)return0;
e=Q.base[Q.front];
%5d\n"
e);
Q.front=(Q.front+1)%MAXQSIZE;
}//删除元素e并返回其值
intGetHead(SqQueue&
(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE)return0;
返回队头元素%5d\n"
}//返回队头元素e
voidPrintQueue(SqQueue&
intk;
顺序队列中的元素:
\n"
for(k=Q.front;
k!
=Q.rear;
k++)
%5d"
Q.base[k]);
}//遍历顺序队列
voidmain()
inte,i,n;
SqQueueQ;
InitQueue(Q);
printf("
1—元素入队;
2—元素出队;
3—返回队头元素;
4—队列空否0—结束运行\n"
选择:
"
scanf("
%d"
&
n);
while(n!
=0)
{
switch(n)
{
case1:
入队元素:
scanf("
e);
EnQueue(Q,e);
PrintQueue(Q);
break;
case2:
出队元素:
DeQueue(Q,e);
case3:
GetHead(Q,e);
case4:
QueueLength(Q);
}
}
结束运行。
再见!
}
链式队列
typedefstructQNode
intdata;
structQNode*next;
}QNode,*QueuePtr;
QueuePtrfront;
//队头指针
QueuePtrrear;
//队尾指针
}LinkQueue;
intInitQueue(LinkQueue&
Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
Q.front)exit(0);
Q.front->
next=NULL;
}//初始化链式队列
intEnQueue(LinkQueue&
QueuePtrp;
p=(QueuePtr)malloc(sizeof(QNode));
p)exit(0);
p->
data=e;
p->
Q.rear->
next=p;
Q.rear=p;
}//在队尾插入元素e
intDeQueue(LinkQueue&
p=Q.front->
next;
e=p->
data;
next=p->
if(Q.rear==p)Q.rear=Q.front;
free(p);
}//删除队头元素e
intPrintQueue(LinkQueue&
链式队列中的元素"
if(Q.front->
next!
=NULL)
p=Q.front->
if(Q.front->
do
{
printf("
p->
data);
p=p->
}while(p!
=NULL);
队列为空\n"
return0;
}//遍历链式队列
LinkQueueQ;
inte,m;
1——插入元素;
2——删除元素;
0——结束运行\n"
m);
while(m!
switch(m)
{
case1:
插入元素:
"
case2:
}
scanf("
printf("
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 队列 程序