文档介绍:实验4栈和队列基本操作实验
——网络B11-2班 姓名 陈子豪 学号 201107024207
一、实验目的
1 熟悉栈、队列这种特殊线性结构的特性;
2 熟练掌握栈、队列在顺序存储结构和链表存储结构下的基本操作。
实验4栈和队列基本操作实验
——网络B11-2班 姓名 陈子豪 学号 201107024207
一、实验目的
1 熟悉栈、队列这种特殊线性结构的特性;
2 熟练掌握栈、队列在顺序存储结构和链表存储结构下的基本操作。
二、实验内容与要求
题目1:利用栈结构,编程实现十进制数转换为二进制数。
题目2:构造一个顺序循环队列,编程实现入队、出队操作,运行程序,观察分析运行结果,体会顺序循环队列的特征。(也可以是顺序队列)
要求:
同学们可参考指导书实验4程序、教材算法及其他资料编程实现相关操作。必须完成题目1和题目2。
说明:报告可写在同一文档中。写报告时,按要求写好题目1报告,再按要求写好题目2报告,然后可写题目3报告,总结放在一起即可。
算法分析与设计。
菜单函数:运用switch进行编写;
入栈与出栈的算法分析:
入栈:
栈顶指针要小于储存空间分配量,否则返回错误;插入新的栈顶元素x,栈顶指针随之增加;
status push(sqstack &s,elemtype x)
{
if (==MAXNUM-1) return(0);
++;
[]=x;
return(1);
}
出栈:若栈不为空,则删除栈顶元素,并用x返回其值,并返回ture;否则返回false;
status pop(sqstack &s,elemtype &x)
{
if (==-1) return(0);
x=[];
--;
return(1);}
出栈
入栈
后进先出
1
2
3
4
5
0
栈顶
栈底
如图所示,栈的顺序储存算法实现:
-1=>
= =maxsize=1 成立 不成立
return 0
++
x=>[]
Retur1
== -1
成立 不成立
return 0
[]=>X
- -
return 1
入队与出队的算法分析:
入队:首先判