洛阳理工学院实验报告系别计算机系班级学号姓名课程名称数据结构实验日期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, ...