电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构单链表实验报告

数据结构单链表实验报告_第1页
数据结构单链表实验报告_第2页
数据结构单链表实验报告_第3页
洛阳理工学院实验报告系别计算机系班级学号姓名课程名称数据结构实验日期11。7实验名称链表的基本操作成绩实验目的:熟悉掌握线性表链式存储结构,掌握与应用查找、插入、删除等基本操作算法,训练和提高结构化程序设计能力及程序调试能力。实验条件:计算机一台,Visual C++6.0实验内容:1. 问题描述以单链表为存储结构实现以下基本操作:(1)在第 i 个元素前插入一个新元素。(2)查找值为 x 的某个元素。若成功,给出 x 在表中的位置;不成功给出提示信息。(3)删除第 i 个元素,若成功,给出提示信息并显示被删元素的值;不成功给出失败的提示信息。2. 数据结构类型定义typedef struct LinkNode{int Value;struct LinkNode * Next;}Node,*LinkList;3. 模块划分(1)初始化链表:void InitList(LinkList * L);(2)创建链表:尾插法:int CreateFromTail(LinkList L); (3)在指定位置插入元素:int InsList(LinkList L,int i,int e); (4)在指定位置删除元素:int DelList(LinkList L,int i,int *e); 返回值说明:返回 ERROR 插入失败,返回 OK 插入成功; (5)按位置查找链表元素:int GetList(LinkList L,int i,int *e);4. 详细设计void init_linklist(LinkList *l)/*对单链表进行初始化*/{*l=(LinkList)malloc(sizeof(Node)); /*申请结点空间*/(*l)—〉next=NULL; /*置为空表*/}void CreateFromHead(LinkList L){ Node *s;char c;int flag=1; while(flag) /* flag 初值为 1,当输入"$"时,置 flag 为 0,建表结束*/{c=getchar(); if(c!=’$’){s=(Node*)malloc(sizeof(Node)); /*建立新结点 s*/s—>data=c;s-〉next=L—>next;/*将 s 结点插入表头*/L—>next=s;}elseflag=0;}}void CreateFromTail(LinkList L){ Node *r, *s;char c;int flag =1; /*设置一个标志,初值为 1,当输入"$"时,flag 为 0,建表结束*/r=L; /*r 指针动态指向链表的当前表尾,以便于做尾插入,其初值指向头结点*/while(flag) /*循环输入表中元素值,将建立新结点 s 插入表尾*/{c=getchar();if(c!='$’){s=(Node*)malloc(sizeof(Node));s—〉data=c;r—〉next=s;r=s;}else{flag=0;r->next=NULL; /*将最后一个结点的 next 链域置为空,表示链表的结束*/}} } Node * Get (LinkList L, ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

不二商店+ 关注
实名认证
内容提供者

我是你的不二选择

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部