队列的插入和删除(推荐)_顺序表的插入删除

2020-02-29 其他范文 下载本文

队列的插入和删除(推荐)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“顺序表的插入删除”。

实验五

队列的插入和删除

实验五 队列的插入和删除

姓名: 学号: 日期:

一、实验目的:

1.熟悉队列的基本结构、特点

2.熟悉队列的插入和删除的基本算法和实现

二、实验条件: 1.硬件:一台微机

2.软件:Windows操作系统和C语言系统(MS VC++6.0)

三、实验方法:

确定存储结构后,上机调试实现顺序队列的插入和删除运算。

四、实验要求:

1、编写函数实现队列的删除功能

2、编写函数实现队列的插入功能

2、编写程序实现以下功能

(1)创建一个队列:12,15,87,96,3;(2)调用删除函数,分别令队列中的三个元素出队列;(3)调用插入函数,使元素6入队列;(4)输出最终队列的元素。

五、算法流程图:

第 1 页

共 4 页

实验五

队列的插入和删除

六、实验算法:

#include #define MAXSIZE 100

int queue[MAXSIZE];/*定义全局变量数组储存循环队列*/ int front=-1,rear=-1;/*整型全局变量做头、尾指针标记*/

void addqueue(int x)/*入队函数*/ { if(front==(rear+1)%MAXSIZE)/*溢出判断*/ {

printf(“循环队列已满,上溢!n”);

exit(1);/*溢出中断*/ } else {

rear=(rear+1)%MAXSIZE;

queue[rear]=x;} }

int delqueue()/*出队函数*/ { int x;if(front==rear)/*溢出判断*/ {

printf(“循环队列已空,下 溢!n”);

exit(1);/*溢出中断*/ } else

第 2 页

共 4 页

实验五

队列的插入和删除

}

void main(){

int i=0,x,n;do {

/*输入不可预测时,向此处标记跳转*/ scanf(“%d”,&i);switch(i){ case 1 : /*判断入队*/

printf(“请输入入队元素个数:”);scanf(“%d”,&n);printf(“请输入入队元素:n”);for(;n;n--){

} break;printf(“请输入出队元素个数:”);scanf(“%d”,&n);printf(“出队元素为:n”);for(;n;n--){ } printf(“n”);break;printf(“队列内所有元素为:n”);for(x=front+1;x!=rear+1;x=(x+1)%MAXSIZE)/*遍历打印*/ { }

第 3 页

共 4 页

printf(“%d ”,queue[x]);x=delqueue();printf(“%d ”,x);scanf(“%d”,&x);addqueue(x);{

} return x;/*返回出队元素*/ front=(front+1)%MAXSIZE;x=queue[front];loop:printf(“请输入操作代码(1入队,2出队,3打印,4终止): _b”);case 2 : /*判断出队*/ case 3 : /*判断打印*/

实验五

队列的插入和删除

}

} while(1);/*此处强制循环*/

} printf(“n”);printf(“n”);break;exit(0);goto loop;/*输入不可预测时跳转*/ case 4 : /*判断用户中断*/ default :

七、程序介绍:

1、程序功能:实现有限的循环队列的任意入队、出队、打印工作

2、利用循环队列存储方式,节省顺序队列存储空间

3、用户可任意操作,同时方便终止

4、用户界面较为友好

八、效果图:

九、心得体会:

本次实验比较简单,与前几次数据结构实验基本类似。考虑到是最后一次数据结构实验,我编了一个功能较为全面的程序。此程序可任意实现插入删除与打印,而不是像之前我编的程序那样只能实现要求的步骤。

该程序尚有不足,由于对计算机底层存储和接口技术不熟悉,这个程序在实际运行时的时间复杂度较高。

第 4 页

共 4 页

《队列的插入和删除(推荐).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
队列的插入和删除(推荐)
点击下载文档
相关专题 顺序表的插入删除 队列 顺序表的插入删除 队列
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文