- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE I
. . .
南阳理工学院
数据结构上机实验指导书
(2011版)
软件学院·软件工程教研室
2011.3
. . .
目 录
TOC \o 1-1 \h \u 实验1 线性表应用 2
实验2 栈和队列的应用 2
实验3 线性表应用 3
实验4 图论及其应用 3
实验5 查找 4
实验6 排序 4
. . .
实验1 线性表应用
一、实验目的
了解和掌握线性表顺序存储和链式存储在计算机中的表示,基本操做在计算机中的实现。
能够利用线性表结构对实际问题进行分析建模,利用计算机求解。
能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合。
二、实验内容及步骤
利用程序设计语言分别实现顺序表和链表的抽象数据类型。
掌握程序分文件(头文件和实现文件)书写的方式。
分别用顺序表和链表实现课本算法2.2:合并两个非递减有序序列,并对其时间性能做出分析。P21
#includec1.h
typedef int ElemType;
#includec2-1.h
#includebo2-1.c
#includefunc2-3.c /* 包括equal()、comp()、print()、print2()和print1()函数 */
void MergeList(SqList La,SqList Lb,SqList *Lc) /* 算法2.2 */
{ /* 已知线性表La和Lb中的数据元素按值非递减排列。 */
/* 归并La和Lb得到新的线性表Lc,Lc的数据元素也按值非递减排列 */
int i=1,j=1,k=0;
int La_len,Lb_len;
ElemType ai,bj;
InitList(Lc); /* 创建空表Lc */
La_len=ListLength(La);
Lb_len=ListLength(Lb);
while(i=La_lenj=Lb_len) /* 表La和表Lb均非空 */
{
GetElem(La,i,ai);
GetElem(Lb,j,bj);
if(ai=bj)
{
ListInsert(Lc,++k,ai);
++i;
}
else
{
ListInsert(Lc,++k,bj);
++j;
}
} /* 以下两个while循环只会有一个被执行 */
while(i=La_len) /* 表La非空且表Lb空 */
{
GetElem(La,i++,ai);
ListInsert(Lc,++k,ai);
}
while(j=Lb_len) /* 表Lb非空且表La空 */
{
GetElem(Lb,j++,bj);
ListInsert(Lc,++k,bj);
}
}
void main()
{
SqList La,Lb,Lc;
int j,a[4]={3,5,8,11},b[7]={2,6,8,9,11,15,20};
InitList(La); /* 创建空表La */
for(j=1;j=4;j++) /* 在表La中插入4个元素 */
ListInsert(La,j,a[j-1]);
printf(La= ); /* 输出表La的内容 */
ListTraverse(La,print1);
InitList(Lb); /* 创建空表Lb */
for(j=1;j=7;j++) /* 在表Lb中插入7个元素 */
ListInsert(Lb,j,b[j-1]);
printf(Lb= ); /* 输出表Lb的内容 */
ListTraverse(Lb,print1);
MergeList(La,Lb,Lc);
printf(Lc= ); /* 输出表Lc的内容 */
ListTraverse(Lc,print1);
}
实验2 栈和队列的应用
一、实验目的
掌握栈和队列这两种抽象数据类型的特点,并能在相应的应用问题中正确选用它们。
熟练掌握栈类型的两种实现方法。
熟练掌握循环队列和链队列的基本操作实现算法。
二、实验内容及步骤
用程序设计语言实现栈和队列的抽象数据类型。
在第一题的基础上完成以下选择:
选择一:
设计并实
您可能关注的文档
- 2015_2016学年辽宁省鞍山市七年级(上)期末数学试卷.doc
- 2015年餐饮消费调查报告.doc
- 2015年高考仿真模拟卷江苏卷数学(三).doc
- 2016年二级建造师考试《水利水电》考点解析.doc
- 2016年广东省中考语文模拟试卷与答案.doc
- 2017_2018学年山西省太原市九年级(上)期中数学试卷.doc
- 2017高中二年级下学期班主任工作计划总结.doc
- 2018美容院店长工作计划总结.doc
- 2018年全国各省语文病句修改模拟题(解析版).doc
- 2018年新课标全国卷2高考语文试题与答案解析.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)