- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科实验报告
课程名称: 数据结 构
实验项目: 线性结构、树形结构、图结构、查找、排 序
实验地点: 行知楼 A210
专业班级: 服工 1302 班 学号: 2013006828
学生姓名: 董 倩
指导教师:
2015年 12 月 24 日
线性结构
一、实验目的和要求
本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式
存储结构上的实现, 提高分析和解决问题的能力。 要求仔细阅读并理解下列例题, 上机通过,并观察其结果,然后独立完成后面的实习题。
二、实验内容和原理
习题
[ 问题描述 ]
设顺序表 A 中的数据元素递增有序,试写一程序,将
使该表仍然有序。
[输入 ]
顺序表的长度,初始化顺序表数据,插入数据 X 。
[输出 ]
已建立顺序表,输出插入 X 后的顺序表。
[存储结构 ]
采用顺序存储结构
[算法的基本思想 ]
x 插入到顺序表的适当位置上,
建立顺序表(用数组的形式实现) 。在表中从后往前查找要插入元素的位置,直到查找到第一个比 X 小的数,并从表的最后一元素依次后移,把要插入元素插入搜查找位置。
三、主要仪器设备
使用的计算机惠普:硬件配置 Win7 、软件环境 win-TC
四、操作方法与实验步骤
[习题源程序 ]
#includestdio.h
#define MAXSIZE 100
#define RIGHT 1
#define ERROR 0
typedef int ElemType;
typedef struct
{
ElemType elem[MAXSIZE];
int last;
}SeqList;
void Initlist(SeqList *L)
{
L-last=-1;
}
void putseqList(SeqList *L,int n)
{
int i;
for(i=0;in;i++)
scanf(%d,(L-elem[i]));
L-last=L-last+n;
}
int LenList(SeqList *L)
{
int Len;
Len=L-last+1;
return Len;
}
int PositionList(SeqList *L,int X)
{
int j;
for(j=0;j=L-last;j++)
if(XL-elem[j])
return j+1;
return (L-last+1);
}
int InsList(SeqList *L,int i,int e)
{
int k;
if((i1)||(iL-last+2))
{
printf(the position is wrong);
return(ERROR);
}
if(L-last=MAXSIZE-1)
{
printf(the list is full);
return(ERROR);
}
for(k=L-last;k=i-1;k--)
L-elem[k+1]=L-elem[k];
L-elem[i-1]=e;
L-last++;
return(RIGHT);
}
int OutputSeqList(SeqList *L)
{
int i;
for(i=0;i=L-last;i++)
printf(%d,,L-elem[i]);
return(L-elem[i]);
}
void main()
{
int s,c;
SeqList L;
Initlist(L);
printf(please input the length: );
scanf(%d,s);
printf(please input the list: );
putseqList(L,s);
LenList(L);
printf(Please input an element to insert : );
scanf(%d,c);
InsList(L,PositionList(L,c),c);
OutputSeqList(L);
printf(\n);
getch();
}
五、实验数据记录和处理
六、实验结果与分析
此程序的优点是算法简单, 易于实现。 但是由于采用的是顺序存储的形式, 导致算法的时间性能和空间性能不是很好, 而且本程序的的健壮性不是很好, 对空间不够的情况没有很人性化的提出解决方案。
七、讨论、心得
改进思想:
#define LIST_INIT_SIZE 100
typedef struct {
int *elem;
int length;
int listsize;
}sqlist;
void creat_sqlist(sqlist *p){
int i,l;
p-elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));
if(!p-ele
您可能关注的文档
- (完整word版)字符串动画显示汇编语言程序设计.doc
- (完整word版)专业技能兴趣小组活动方案.doc
- (完整word版)专项安全检查表.doc
- (完整word版)专家展望未来5年深度学习技术的发展.doc
- (完整word版)专家谈多感官训练系统与自闭症(孤独症)儿童治疗.doc
- (完整word版)猪场组织架构.doc
- (完整word版)中值滤波例题.doc
- (完整word版)中国区域地理复习——北方地区201803(含答案),推荐文档.doc
- (完整word版)智能化分部、子分部、分项划分.doc
- (完整word版)志愿服务岗前培训手册.doc
- 初中英语人教版七年级上册第四单元Where is my schoolbag ! Section A .ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.ppt
- 初中英语人教版七年级下册 Unit 6 I'm watching TV. Section A 11a.pptx
- 注册土木工程师培训课件.ppt
- 初中生物济南版七年级上册第一章奇妙的生命现象 第三节生物学的探究方法.ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.pptx
- 注册安全工程师案例课件.ppt
- 初中物理人教版八年级上册第二章第4节噪声的危害和控制课件(共19张PPT).pptx
- 注册安全工程师王阳课件.ppt
- 初中数学青岛版八年级上2.4《线段的垂直平分线》课件(16张PPT).ppt
最近下载
- 核酸类药物PPT课件.pptx VIP
- 【2024届 普通类】智能科学与工程学院人工智能产业学院优秀应届本科毕业生(内招生)免试攻读研究生(普通类)推荐工作实施办法(试行).pdf VIP
- 《病理学实验》呼吸系统疾-教学课件(非AI生成).pptx VIP
- 科目三《私募股权投资基金(含创业投资基金)基础知识》.pdf VIP
- DB33_T 865-2022 农用钢架大棚设计与安装规范.docx
- 旅游服务投诉案例分析报告总结.pptx VIP
- 旅游服务投诉案例.pptx VIP
- 人教版初中、高中英语全部单词集合.pdf VIP
- 黑布林阅读初三7《金银岛》中文版.pdf
- 旅游服务心理学课件 项目六 沟通与投诉处理 任务二 巧妙处理旅游者的投诉.pptx VIP
原创力文档


文档评论(0)