数据结构一实验报告.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构一实验报告

《数据结构与算法》实验报告 专业 信息与计算科学 班级 姓名 学号 实验项目 实验一 线性表的基本操作 实验目的 1、掌握顺序存储结构上的插入、删除、查找等基本操作的实现 2、掌握链式存储结构上的插入、删除、查找等基本操作的实现 实验内容 题目1: 建立一顺序结构的线性表,并对其完成插入、删除和查找工作 题目2: 建立一链式结构的线性表,并对其完成插入、删除和查找工作 算法设计分析 1.顺序结构的线性表 (一) 数据结构的定义 #define?N?50 #include?stdio.h int?L[N];??//顺序表 int?LEN;??//记录顺序表表长 (二)总体设计 主函数:统筹调用各个函数以实现相应功能 void?main() (2)顺序线性表建立函数:建立顺序表对数据进行存储void?creat(int?*L,int?*len)?//建立顺序表 (3)顺序插入数据函数:在顺序表的插入在顺序表L的第i个位置上插入x void ins(int *L,int i,int x,int LEN) //顺序表的插入操作 (4)顺序删除数据函数:删除顺序表L的第i个位置上的元素x void?del(int?*L,int?i,int?LEN)??//顺序表删除操作 (5)顺序查找数据函数:在顺序表中查找元素 int?find(int?*L,int?p,int?LEN)?//顺序表的查找操作 (6)?顺序输出函数 void?putout(int?*L)??//输出顺序表 (7)选择界面函数部分: void?PRINT(int?n) 链式线性表建立函数:用链表指针域建立数据与数据之间的对应关系 void?CreateFromTail(LinkList?L)???//用尾插法建立链表 链式查找数据函数:在单链表中找到需要的数据位置,并显示其位置 void?Locate(LinkList?L,ElemType?m)?//查找值为x的元素的位置 链式插入数据函数:在单链表中找出对应位置,并插入数据void?ListIn(LinkList?L,int?i,char?x)??/在链表L的第i个位置插入值为x的结点 链式删除数据函数在单链表中找出对应位置,并删除相对应的数据 void?ListDel(LinkList?L,int?i)???//删除链表L的第i个元素链表输出函数void?output(LinkList?L)???//链表输出函数 (二)结果分析 1.完成了顺序存储结构上的插入、删除、查找等基本操作 2、完成了链式存储结构上的插入、删除、查找等基本操作 实验总结 1、通过实验还提高了一点改错能力,对于一些常见问题加深了印象。 2、程序由算法和数据结构组成,一个好的程序不仅算法重要,数据结构的设计也很重要。 3、摸索着用C++做完实验,增强了自己的自学能力,这应该是最有用的吧,语言会过时,学习的能力却不会过时。 4、程序由算法和结构组成,一个好的程序不仅算法重要,数据结构的设计也很重要。 5、最重要的是掌握了顺序结构的线性表和链式结构的线性表的插入、查找和删除。 6、线性链表和顺序表都属于线性表,但是线性链表比顺序表灵活,方便;但是,线性表在做元素寻找的操作的时候,必须从头结点开始寻找。在编程序的时候,我们肯定会遇到许多问题:就像我就遇到一个问题,那就是:当我在运行程序的时候,输入一个元素后就不继续做下面的操作也不停止运行,我自己做了好久都没发现问题,后来实在没办法,我就问同学,最后终于发现有一条语句错误,所以写的时候我们要仔细点。 附录 实验程序代码(该部分请加注释) /*程序定义部分:*/ 1. #define N 50 #include stdio.h int L[N]; //顺序表 int LEN; //记录顺序表表长 void creat(int *L,int *len) //建立顺序表 { int i,x; printf(请输入线性表的数据,以0为结束标志\n); scanf(%d,x); i=0; while(x!=0) { L[i]=x; ++i; scanf(%d,x); } (*len)=i; } /*选择界面函数部分:*/ void PRINT(int n) { do{ printf(请选择:\n); printf(1:插入\n); printf(2:删除\n); printf(3:查找\n); scanf(%d,n); }while(n0||n3); } int find(int *L,int value,int LEN); void ins(int *L,int i,int x,int

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档