资源描述:
《c数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、c数据结构实验报告 数据结构(C语言版)实验报告;专业:计算机科学与技术、软件工程;学号:____XX40703061_____;班级:_________软件二班________;姓名:________朱海霞__________;指导教师:___刘遵仁_____________;青岛大学信息工程学院;XX年10月;实验1;实验题目:顺序存储结构线性表的插入和删除;实验目
数据结构(C语言版)实验报告
专业:计算拢机科学与技术、软件工程俯
学号:____XX撬40703061___夫___________油_____
2、班级:_衅________软件二凡班__________懂____
姓名:__笑______朱海霞__惩___________辑_
指导教师:___辜刘遵仁________涨________
青岛大押学信息工程学院
XX年1精0月
实验1
实验题目:顺耘序存储结构线性表的插入菇和删除
实验目的:
了侦解和掌握线性表的逻辑结筛构和顺序存储结构,掌握萝线性表的基本算法及相关圣的时间性能分析。
实验要天求:
建立一个数据域蛾定义为整数类型的线性表舌,在表中允许有重复的数荤据;根据输入的数据,先絮找到相应的存储单元,后
3、跌删除之。
实验主要步骤:黔
1、分析、理解给出的示谤例程序。
2、调试程硅序,并设计输入一组数据淆(3,-5,6,8,2励,-5,4,7,-9)炎,测试程序的如下功能:声根据输入的数据,找到相铡应的存储单元并删除,显俗示表中所有的数据。
程序翌代码:
#include漏
#include
#de瓦fineOK1
#def忌ineERROR0
#d戈efineOVERFL炸OW-2
#defi泽neLIST_INIT孙_SIZE100
#知defineLISTI领NCREMENT10
t免ypedefstruc感t
4、{
int*elem;伤
intlength;
i屑ntlistsize;衰
}Sqlist;
i辱ntInitList_窄Sq(SqlistL)因{
=(int*)m抬alloc(LIST_贩INIT_SIZE*s皱izeof(int))杯;
if(!)retur淫n-1;
=0;
=LIS辞T_INIT_SIZE耀;
returnOK;
}珍
intListIn帧sert_Sq(Sql开istL,inti,i需nte){
if(i+1末)returnERRO酉R;
if(==){
in锦t*newbase;
5、射 newbase=(i星nt*)realloc蛮(,(+LISTINC渊REMENT)*siz蚌eof(int));
窒 if(!newbas可e)return-1;绥
=newbase;
+=骇LISTINCREME噎NT;
}
int*p,*磐q;
q=();
for(运p=();p>=q;-洪-p)
*(p+1)=*颠p;
*q=e;
++;
r帜eturnOK;
}
嘿intListDele谓te_Sq(Sqlis屑tL,inti,int咽e){
int*p,*q交;
if(i)retur犁nERROR;
p=
6、()嘿;
e=*p;
q=+;
f区or(++p;p*(p斩-1)=*p;
--;
r贞eturnOK;
}
in所tmain(){
Sql蛤istL;
InitLi衷st_Sq(L);//括初始化
inti,a峙={3,-5,6,8,舍2,-5,4,7,-9箭};
for(i=1社;iListInser魁t_Sq(L,i,a)移;
for(i=0;屹iprintf("%d喷",);
printf(择"");//插入9个数腑
ListInser冷t_Sq(L,3,24玲);
for(i=0胰;iprintf
7、("%寓d",);
printf锈("");//插入一个娱数
inte;
Lis呛tDelete_Sq(焰L,2,e);
fo符r(i=0;iprin薄tf("%d",);/涌/删除一个数
print裙f("");
retur弓n0;
}
实验结果:
3,岁-5,6,8,2,-5狄,4,7,-9
3,液-5,24,6,8,2封,-5,4,7,-9
3房,24,6,8,2,-辛5,4,7,-9
心得体帘会:
顺序存储结构是不一种随机存取结构,存取恢任何元素的时间是一个常叙数,速度快;结构简单,妇逻辑上相邻的元素在
8、物理魂上也相邻;不使用指针,碧节省存储空间;但是插入毛和删除元素需要移动大量挥元素,消耗大量时间;需搜要一个连续的存储空间;呀插入元素可能发生溢出;陕自由区中的存储空间不能靴被其他数据共享实验2
实懦验题目:单链表的插入和疵删除
实验目的:
了解邪和掌握线性表的逻辑结构犯