数据与结构算法线性表实验_第1页
数据与结构算法线性表实验_第2页
数据与结构算法线性表实验_第3页
数据与结构算法线性表实验_第4页
数据与结构算法线性表实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告2015 -2016 学年第二学期开课单位:年级专业:课程名称:数据结构与算法-课内实验主讲教师:课程序号:课程代码:实验名称:线性表学 号:姓 名:数据结构与算法-课内实验实验报告实验名称线性表学 号年级、专业实验地点姓 名实验学时4实验日期成绩评定优 良 中 及格 不及格教师签字:实验目的:1. 了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。2. 重点是线性表的基本操作在两种存储结构上的实现。3. 通过本次实验帮助学生加深对链表的理解,并加以应用; 实验内容:1、参考课本代码,完成顺序表的定义、初始化、插入、删除、定位、合并等函数的编写,并自己独立完成顺序表的输出

2、函数编写。要求在主函数中实现对以上操作的调用,实现以下功能:(1)定义三个顺序表La,Lb,Lc,并调用初始化函数实现三个表的初始化。(2)调用插入函数依次往La中插入元素1,3,5,7,9。(3)调用插入函数依次往Lb中插入元素2,4,6,8,10。(4)调用输出函数输出La和Lb。(5)调用删除函数删除La的第1个元素并输出删除后的La。(6)由用户输入一个数,然后通过定位函数查找这个数是否在Lb中,如果在则删除这个数并输出删除后的Lb,如果不在则不做任何操作。(7)调用合并函数将La和Lb合并成一个顺序表放到Lc,并输出合并后的Lc的元素序列。2、参考课本代码,完成单链表的定义、创建、插

3、入、删除、取值、合并等函数的编写,并自己独立完成单链表的输出函数编写。要求在主函数中实现对以上操作的调用,实现以下功能:(1)定义三个单链表link1,link2,link3。(2)调用创建函数实现link1和link2的创建,并分别调用输出函数输出创建后的link1和link2的元素序列。(3)调用插入函数往link1中插入一个元素(插入的位置和元素由用户输入),插入成功后输出插入后的link1的元素序列。(4)调用删除函数删除link1中一个元素(删除的位置由用户输入),删除成功后输出删除后的link1的元素序列。(5)调用取值函数取得link1的一个元素的值并输出(取值的位置由用户输入)

4、。(6)调用合并函数将link1和link2合并成一个单链表放到link3,并输出合并后的link3的元素序列。实验代码:1、#include"SeqListg.h"void display(SqList t) int i; for(i=0;i<t.length;i+) printf("%d ",t.elemi);int main() SqList La,Lb,Lc; InitList_Sq(La); InitList_Sq(Lb); InitList_Sq(Lc); int i,j,x; j=1; for(i=1;i<=5;i+) List

5、Insert_Sq(La,i,j); j=j+2; printf("La插入后的元素序列为:"); display(La); j=2; for(i=1;i<=5;i+) ListInsert_Sq(Lb,i,j); j=j+2; printf("nLb插入后的元素序列为:"); display(Lb); ListDelete_Sq(La,1,j); printf("nLa删除元素后的新序列:"); display(La); printf("n你要在Lb中查找的数:"); scanf("%d"

6、;,&x); i=LocateElem_Sq(Lb,x); if(i!=0) printf("find it!"); ListDelete_Sq(Lb,i,j); printf("nLb删除元素后的新序列:"); display(Lb); else printf("not find it!"); MergeList_Sq(La,Lb,Lc); printf("nLc合并后元素的序列:"); display(Lc); return 0;2、#include"LinkListg.h"void

7、 display(LinkList t)LinkList p;p=t->next;while (p!=NULL) printf("%d ",p->data); p=p->next; int main() LinkList link1,link2,link3; printf("请逆序输入5个数:"); CreateList_L1(link1,5); printf("link1元素序列为:"); display(link1); printf("n请顺序输入5个数:"); CreateList_L2(l

8、ink2,5); printf("link2元素序列为:"); display(link2); printf("n请输入你所要在link1中插入的位置和元素值:"); int i,x; scanf("%d %d",&i,&x); ListInsert_L(link1,i,x); printf("插入后link1元素新序列:"); display(link1); printf("n请输入你所要在link1删除的位置:"); scanf("%d",&i); ListDelete_L(link1,i,x); printf("n删除后link1元素序列为:"); display(link1); printf("n请输入在link1取值的位置:"); scanf("%d",&i); GetElem_L(link1,i,x); printf("n取得元素为:%d",x); MergeList_L(link1,link2,link3); printf("n合并后link3元素序列为:"); display(lin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论