1、实验二 单链表基本算法的实现姓名 : 学号: 日期:实验目的: 通过上机编程掌握1. 单链表的基本运算2. 测试单链表的基本运算实验要求:1. 给出程序设计的基本思想、原理和算法描述。2. 画出程序流程图;根据数据结构有关知识编出算法程序。 3. 源程序给出注释。4. 保存和打印出程序的运行结果,并结合程序进行分析。实验内容:1. 编写函数实现单链表的基本运算 (1) 单链表的生成(2) 单链表的插入(3) 单链表的删除2. 编写主函数测试单链表的各种基本运算:(1) 生成一个单链表,链表中的元素由计算机输入(2) 在表中的第 5 个位置上插入元素”7”(3) 删除表中的第 6 个元素(4)
2、显示(1)(4)每一步的操作结果#include#include#includetypedef int datatype;typedef struct nodedatetype data;struct node *next;node;node *creatlink();node *inseart(node*head,datdtype i,datatype x);void *delet(node*head,datatype i);node *get(node*head,datatype i);void print(node*head,datatype i);node *creatlink()no
3、de*head,*p,*s;int num;head=(node*)malloc(sizeof(node);scanf(“%d“,p=head;while(num!=0)s=(node*)malloc(sizeof(node);s-data=num;p-next=s;p=s;scanf(“%d“,p-next=null;return head;node *inseart(node*v,datdtype i,datatype x)node *p,*s;p=get(head,i)if(p!=null)s-data=x;s-next=p-next;p-next=s;print(v,i+1);else
4、 printf(“error!“);void *delet(node*head,datatype i)node *p,*s;p=get(head,i-1);if(p!=null)s=p-next;p-next=s-next;free(s);print(head,i-1);elseprintf(“not find in“);node *get(node*head,datatype i)node *pp=head-next;while(p!=null)counter+;if(p!=null)else return null;void print(node*head,datatype i)int k;for(k=0;ki;k+)printf(“%6d“,head*datdk);printf(“n“);void main()node *v;