下载此文档

南阳理工学院软件学院数据结构上机实验指导书全部附标准答案.doc


文档分类:IT计算机 | 页数:约24页 举报非法文档有奖
1/24
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/24 下载此文档
文档列表 文档介绍
: .
南阳理工学院
数据结构上机实验指导书
(2011 版)
答案(仅内供)
软件学院•软件工程教研室

#
数据结构上机实验指导书一一软件学院•软件工程教研室] 2011 版]
目录
实验1线性表应用 2矚慫润厲钐瘗睞枥庑赖。
实验2栈和队列的应用14
实验3线性表应用27
实验4图论及其应用46
实验5查找59
实验6排序64
数据结构上机实验指导书一一软件学院•软件工程教研室] 2011 版]
实验1线性表应用
、实验目的
1. 了解和掌握线性表顺序存储和链式存储在计算机中的表示,基本操做在 计算机中的实现。
2. 能够利用线性表结构对实际问题进行分析建模,利用计算机求解。
3. 能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特 点及其适用场合。
、实验内容及步骤
1. 利用程序设计语言分别实现顺序表和链表的抽象数据类型。
2. 掌握程序分文件(头文件和实现文件)书写的方式。
3. 分别用顺序表和链表实现课本算法 :合并两个非递减有序序列,并 对其时间性能做出分析。
顺序表的非递减数列合并
实验2栈和队列的应用
、实验目的
1. 掌握栈和队列这两种抽象数据类型的特点,并能在相应的应用问题中正 确选用它们。
2. 熟练掌握栈类型的两种实现方法。
3. 熟练掌握循环队列和链队列的基本操作实现算法。
、实验内容及步骤
1. 用程序设计语言实现栈和队列的抽象数据类型。
2. 在第一题的基础上完成以下选择: 选择一:
1) 设计并实现括号匹配算法。
2) 用队列实现在屏幕上打印杨辉三角。 选择二:
分别用栈和队列实现迷宫问题求解。
选择三:
分别用栈和队列实现一个列车调度系统。
括号匹配算法。
#i nclude<>
#i nclude<>
#i nclude<>
#include ""
return 0;
}
int PushStack(Li nkStack top, DataType e)
/*进栈操作就是要在链表的第一个结点前插入一个新结点,进栈成功返回 1*/
{
LStackNode *p; /*定义指向第i个元素的前驱结点指针pre,指针p
指向新生成的结点*/聞創沟燴鐺險爱氇谴净。
if((p=(LStackNode*)malloc(sizeof(LStackNode)))==NULL) 残骛楼諍锩瀨濟溆塹
籟。
{
printf(" 内存分配失败!");
exit(-1);
}
p->data=e; /*指针p指向头结点*/
p->n ext=top->n ext;
top->n ext=p;
return 1;
}
int PopStack(Li nkStack top,DataType *e)
/*删除单链表中的第i个位置的结点。删除成功返回1,失败返回0*/
{
LStackNode *p;
p=top->n ext;
if(!p) /*判断链栈是否为空*/
{
prin tf(" 栈已空");
q=p;
p=p->n ext;
free(q);
}
}
int GetTop(LinkStack top,DataType *e)
{
LStackNode *p;
p=top->n ext;
if(!p) /*判断链栈是否为空*/
{
printf(" 栈已空");
return 0;
e*/
}
*e=p->data; /*将出栈元素赋值给
return 1;
}
void mai n()
{
case '[':
case '{':
PushStack(S,*p++);
break;
case ')':
case ']':
case '}':
if(StackEmpty(S))
{
else
{
GetTop(S,&e); printf(" 缺少右括号.\n");
}
int Match(DataType e,DataType ch)
{
if(e=='('&&ch==')')
return 1;
else if(e=='['&&ch==']')
return 1;
else if(e=='{'&&ch=='}')
return 1;
else
return 0;
typedef struct QNode
{

南阳理工学院软件学院数据结构上机实验指导书全部附标准答案 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息