- 91
- 0
- 约3.19万字
- 约 48页
- 2019-09-04 发布于湖南
- 举报
南阳理工学院
数据结构上机实验指导书
(2011版)
软件学院·软件工程教研室
2011.3
目 录
TOC \o 1-1 \h \u 实验1 线性表应用 2
实验2 栈和队列的应用 2
实验3 线性表应用 3
实验4 图论及其应用 3
实验5 查找 4
实验6 排序 4
实验1 线性表应用
一、实验目的
了解和掌握线性表顺序存储和链式存储在计算机中的表示,基本操做在计算机中的实现。
能够利用线性表结构对实际问题进行分析建模,利用计算机求解。
能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合。
二、实验内容及步骤
利用程序设计语言分别实现顺序表和链表的抽象数据类型。
掌握程序分文件(头文件和实现文件)书写的方式。
分别用顺序表和链表实现课本算法2.2:合并两个非递减有序序列,并对其时间性能做出分析。
顺序表的非递减数列合并
#includestdio.h /*包含输入输出头文件*/
#define ListSize 100
typedef int DataType;
typedef struct
{
DataType list[ListSize];
int length;
}SeqList;
void InitList(SeqList *L)
/*将线性表初始化为空的线性表只需要把线性表的长度length置为0*/
{
L-length=0; /*把线性表的长度置为0*/
}
int ListEmpty(SeqList L)
/*判断线性表是否为空,线性表为空返回1,否则返回0*/
{
if(L.length==0) /*判断线性表的长度是否为9*/
return 1; /*当线性表为空时,返回1;否则返回0*/
else
return 0;
}
int GetElem(SeqList L,int i,DataType *e)
/*查找线性表中第i个元素。查找成功将该值返回给e,并返回1表示成功;否则返回-1表示失败。*/
{
if(i1||iL.length) /*在查找第i个元素之前,判断该序号是否合法*/
return -1;
*e=L.list[i-1]; /*将第i个元素的值赋值给e*/
return 1;
}
int LocateElem(SeqList L,DataType e)
/*查找线性表中元素值为e的元素,查找成功将对应元素的序号返回,否则返回0表示失败。*/
{
int i;
for(i=0;iL.length;i++) /*从第一个元素开始比较*/
if(L.list[i]==e)
return i+1;
return 0;
}
int InsertList(SeqList *L,int i,DataType e)
/*在顺序表的第i个位置插入元素e,插入成功返回1,如果插入位置不合法返回-1,顺序表满返回0*/
{
int j;
if(i1||iL-length+1) /*在插入元素前,判断插入位置是否合法*/
{
printf(插入位置i不合法!\n);
return -1;
}
else if(L-length=ListSize) /*在插入元素前,判断顺序表是否已经满,不能插入元素*/
{
printf(顺序表已满,不能插入元素。\n);
return 0;
}
else
{
for(j=L-length;j=i;j--) /*将第i个位置以后的元素依次后移*/
L-list[j]=L-list[j-1];
L-list[i-1]=e; /*插入元素到第i个位置*/
L-length=L-length+1; /*将顺序表长增1*/
return 1;
}
}
int DeleteList(SeqList *L,int i,DataType *e)
{
int j;
if(L-length=0)
{
printf(顺序表已空不能进行删除!\n);
return 0;
}
else if(i1||iL-length)
{
printf(删除位置不合适!\n);
return -1;
}
else
{
*e=L-list[i-1];
for(j=i;j=L-le
您可能关注的文档
最近下载
- 采购谈判的程序.采购谈判的程序.ppt VIP
- 江苏省无锡市2024~2025学年七年级上学期期末历史试题(含答案).docx VIP
- GB 50688_城市道路交通设施设计规范.pdf VIP
- 专题07 动量-2024年高考真题和模拟题物理分类汇编.docx VIP
- 雷克萨斯-Lexus GX-产品使用说明书-GX400-GRJ158L-GKAZKC3-GX400OM60M78C-1508.pdf VIP
- 中国AI鼠标行业市场现状及未来发展趋势研究报告.pdf
- GJB 438C-2021 军用软件开发文档通用要求 (高清,带章).docx VIP
- 2025年通信工程师大数据分析平台与入侵检测系统结合专题试卷及解析.pdf VIP
- 审计指引-安永.pdf VIP
- 2025年事业单位工勤技能人员转岗考试《综合基础知识》模拟试卷.docx
原创力文档

文档评论(0)