欢迎来到天天文库
浏览记录
ID:14269921
大小:59.50 KB
页数:4页
时间:2018-07-27
《单链表的插入和删除。》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
实验二报告:关于链表的插入和删除数据结构 课程实验报告 (二)学号:1016411017姓名:梁叶实验日期:10/12实验名称:单链表的插入和删除!一、实验目的通过单链表的插入和删除实验,使学生深入了解单链表的算法,并能在C语言的环境下,对单链表各项操作做比较深入的理解!二、实验内容与实验步骤问题描述:单链表的数据域是长度不小超过N的字符串,且不充许重复的串插入表中。删除操作是根据输入的字符串,先找到相应的结点,后删除之。基本要求:设计程序实现以下功能:①建立一个数据域是长度不小超过n的字符串的单链表;②将一指定字符串插入到单链表的指定位置,不许有重复;③将单链表中一指定字符串剔除。测试数据:取n=4,当建立字符串单链有序表为“Apr”“Jan”“Jul”“Jun”“Mar”“May”时,依次插入“Feb”“Aug”,再依次删除“Mar”“Jul”。三、附录:程序:把调试过的程序拷贝在此#include#include#includetypedefstructnode//描述单链表{chardata[4];structnode*next;}Linklist;Linklist*creat(char*ch[],intn)//创建单链表{inti;Linklist*H,*p,*r;H=(Linklist*)malloc(sizeof(Linklist));r=H;for(i=0;idata,ch[i]);第4页共4页6/27/2021 实验二报告:关于链表的插入和删除r->next=p;r=p;}r->next=NULL;returnH;}Linklist*insert(Linklist*H,chara[])//这是将a插入的函数{Linklist*s,*p=H->next,*q=H;while(strcmp(p->data,a)<0&&p!=NULL){q=p;p=p->next;}if(strcmp(p->data,a)==0)printf("重复的数据不能插入!");if(strcmp(p->data,a)>0){s=(Linklist*)malloc(sizeof(Linklist));strcpy(s->data,a);s->next=p;q->next=s;}for(p=H->next;p!=NULL;p=p->next)printf("%s",p->data);printf(" 继续操作:");returnH;}Linklist*del(Linklist*H,charx[])//这是将指定的x删除的函数{Linklist*q=H,*p=H->next;while(strcmp(p->data,x)!=0&&p->next!=NULL){q=p;p=p->next;}第4页共4页6/27/2021 实验二报告:关于链表的插入和删除if(strcmp(p->data,x)==0){q->next=p->next;free(p);}elseprintf("指定删除的数据不存在!");for(p=H->next;p!=NULL;p=p->next)printf("%s",p->data);printf(" 继续操作:");returnH;}voidmain(){char*ch[]={"Apr","Jan","Jun","Mar","May"};inti;charsh[4];printf("请输入1、2、3、4以表示操作: ");printf("1-创建2-插入3-删除4-退出 ");Linklist*H,*p;do{scanf("%d",&i);switch(i){case1:printf("现在开始创建: ");H=creat(ch,5);printf("创建好的数据是: ");for(p=H->next;p!=NULL;p=p->next)printf("%s",p->data);printf(" 继续操作:");break;case2:printf("开始插入: ");printf("请输入你要插入的字符串:");scanf("%s",sh);H=insert(H,sh);break;第4页共4页6/27/2021 实验二报告:关于链表的插入和删除case3:printf("开始删除: ");printf("请输入你要删除的字符串:");scanf("%s",sh);H=del(H,sh);break;case4:printf("退出! ");break;default:break;}}while(i<4);}四、运行结果:从屏幕上将运行结果剪切下来拷贝在此:五、心得体会:1.独立思考;2.学会请教;3.要有耐心;4.经常动手;5.努力学习;6.当一条路行不通的时候,学会换个思考方式,也许能行得通。第4页共4页6/27/2021
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处