当前位置:文档之家› 实验二栈队列的实现及应用

实验二栈队列的实现及应用

百度文库-让每个人平等地提升自我
实验二栈、队列的实现及应用
实验课程名:数据结构与算法
专业班级:_ 学号:__________ 姓名: _
实验时间: ____ 实验地点:指导教师:冯珊__________
一、实验目的
1掌握栈和队列的顺序存储结构和链式存储结构,以便在实际背景下灵活运用。

2、掌握栈和队列的特点,即先进后出与先进先出的原则。

3、掌握栈和队列的基本操作实现方法。

/*顺序栈的存储类型*/
typedef struct
1
2
3
4
5远

1

7U-




:>
o
1
2
3
R
*




t


^






1
2
3
^
5
I B
D 认戯握结IVl 匚on&ol eAp pli cation!\[>ebu g\Con 5 o-leApp li cation
1 .exe
:1
刖人操作谊睪代码(05):2
:
h
E
s






b





?




1
2
3
4
5
5
^



S
退




S
I

i
9
I
I
I
i


..T'




£
1
2
3
4
5
\Z
百度文库
-让每个人平等地提升自我
P入操隹选择代码(0-5>:4
派元素的是
;






i元一一




->


>c
1-
苴翻(05):
5



1
2


Is
务一(2):完成下列程序,该程序实现栈的链式存储结构,构建链栈(栈中的元素依次为China ,
Japan, France,India ,Australia ),依次进行进栈和出栈操作,判断栈空和栈满操作,返回栈顶元素操作。

要求生成链栈时,从键盘上读取数据元素。

(1)源代码:#i nclude<>
#in clude<>
#in clude<>
# define OK 1
# define ERROR 0 typedef
char DataType;
/*链式栈的存储类型*/
typedef struct SNode














1
2
3
4
5









退



-


-



-
-

*



\z
0 12 3 4 5 1 元元 岀^?取示 退、艮岀读显元一兀 栈 化 S 岀:^£取示 0
4:读取钱顶元录
5湿示貨中匹券 甬只梟祜富i
枪祐皿5用—
务二:完成下列程序,该程序实现循环队列的 存储和基本操作,构建循环队列,完成键盘缓冲区的功能,每输入一个字符,链入缓冲区队 列中;每输出一个字符,将该字符从缓冲区中删除。

(1)源代码:#i nclude<>
#in clude<>
# define MAXQSIZE 100
# define OK 1
# define ERROR 0
/*定义QEIemType 为int 或别的自定义类型 */ typedef char QEIemType;
/*顺序队列的存储类型 */
J 匹兀 栈 出取示 退^<岀谅显 _■ ■ ■■ ■ - ■■ ■ ■ o 1 2 3 4 S
O 00 肌bi £ 选的 栈 化 出:示 退<出诵显 素素 元元 8 5 一 _ S ■3 5 : S
选的 操厂 入中 •聖.-J
化 擇 退臾岀洁 4: 5: 喩入操作选择代码9-5):
OI
e=Q->base[Q->fr on t];
DeQueue(&Q,e); break;
case 3: display (&Q);
}
}while(choice>0&&choice<=3);
return 0;
}
(2)运行结果
0.
I
丄*
K显示队列元素
循环队列通过设置队首和队尾实现先进后出功能
实验总结:
1. 在本次试验中我学会了如何实现的栈的顺序存储以及链式存储。

2. 以及懂得了栈的基本特性:仅在表尾进行删除和插入操作、先进后出。

队列初始-•匕成
功!
-3


-3-3-3
O
O


->

IT
¥
JTJ"









->

操。

相关主题