《数据结构实验指导书》

2026/4/27 9:02:05

第一部分 上机实践

(4)程序运行结果:

四、实验总结

-11-

成绩:

第一部分 上机实践

实验二 栈与队列

实验时间: 月 日

一、实验目的

1.掌握栈的存储实现方式及其基本操作的实现; 2.掌握队列的存储实现方式及其基本操作的实现; 3.进一步掌握利用TC实现数据结构的编程方法。

二、实验题目与要求

1.实验题目一:顺序栈的定义及其操作算法的实现

要求:编程实现顺序栈表的类型定义及顺序表的初始化操作、入栈操作、出栈操作、取栈顶元素操作、输出操作等,并对其进行验证。

2.实验题目二:链式队列的定义及其相关操作算法的实现

要求:编程实现链式队列的类型定义及其初始化操作、入队操作、出队操作、取队头操作、输出操作等,并对其进行验证。

3.实验题目三:循环队列定义及其操作算法的实现

要求:编程实现循环队列的类型定义及其初始化操作、入队操作、出队操作、取队头操作、输出操作等,并对其进行验证。

说明:实验题目一与实验题目三为必做内容;实验题目二为选做内容。

三、实验内容

1.顺序栈的实现

(1)顺序栈的类型及基本操作的定义。将如下代码设计完整,并保存为“sqStack.h”。 ///顺序栈类型及其基本操作的实现 #define Init_Size 100 #define INCR 20 typedef struct

{ SElemType *Elem; int Top;

int StackSize;

}SqStack; //顺序栈类型

Status InitStack(SqStack &S) //初始化操作 { //代码略 }

void ClearStack(SqStack &S) //栈清空操作 { //代码略 }

-12-

第一部分 上机实践

Status StackEmpty(SqStack S) //判空操作 { //代码略 }

int StackLength(SqStack S) //求栈长 { //代码略 }

Status GetTop(SqStack S, SElemType &e) //取栈顶元素操作 { //代码略 }

Status Push(SqStack &S, SElemType e) //入栈操作 { //代码略 }

Status Pop(SqStack &S, SElemType &e) //出栈操作 { //代码略 }

(2)顺序栈应用程序设计

如下给出了利用栈实现10进制数转换为2进制数的程序代码的框架结构。同学还可自行设计其他栈的应用实例,如括号匹配、文本编辑处理等问题。

#include #include \ #include \

typedef int SElemType; //定义元素类型为int类型 #include \void DToB(int n) { SqStack S; SElemType e;

printf(\

if(n==0) {printf(\ InitStack(S); while(n)

{ Push(S,n%2); n/=2; } while(!StackEmpty(S))

{ Pop(S, e); printf(\ } printf(\}

int main() { int n;

printf(\ scanf(\

-13-

第一部分 上机实践

while(n>=0) { DToB(n);

printf(\ scanf(\ }

return 0; }

(3)完整代码 -14-


《数据结构实验指导书》.doc 将本文的Word文档下载到电脑
搜索更多关于: 《数据结构实验指导书》 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219