单链表的插入和删除_第1页
单链表的插入和删除_第2页
单链表的插入和删除_第3页
单链表的插入和删除_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二报告:关于链表的插入和删除数据结构课程实验报告(二)学号:1016411017姓名: 梁叶实验日期:10/12实验名称:单链表的插入和删除!一、实验目的 通过单链表的插入和删除实验,使学生深入了解单链表的算法,并能在C语言的环境下,对单链表各项操作做比较深入的理解!二、实验内容与实验步骤问题描述:单链表的数据域是长度不小超过N的字符串,且不充许重复的串插入表中。删除操作是根据输入的字符串,先找到相应的结点,后删除之。基本要求:设计程序实现以下功能: 建立一个数据域是长度不小超过n的字符串的单链表; 将一指定字符串插入到单链表的指定位置,不许有重复; 将单链表中一指定字符串剔除。测试数据:

2、取n=4,当建立字符串单链有序表为“Apr”“Jan”“Jul”“Jun”“Mar”“May”时,依次插入“Feb”“Aug”,再依次删除“Mar”“Jul”。 三、附录:程序:把调试过的程序拷贝在此#include<stdio.h>#include<malloc.h>#include<string.h>typedef struct node /描述单链表 char data4; struct node *next;Linklist;Linklist *creat(char *ch,int n)/创建单链表 int i; Linklist *H,*p,*r;

3、 H=(Linklist*)malloc(sizeof(Linklist); r=H; for(i=0;i<n;i+)p=(Linklist*)malloc(sizeof(Linklist); strcpy(p->data,chi); r->next=p; r=p; r->next=NULL; return H;Linklist *insert(Linklist *H,char a) /这是将a插入的函数 Linklist *s,*p=H->next,*q=H;while(strcmp(p->data,a)<0&&p!=NULL) q=

4、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("n继续操作:"); retur

5、n H;Linklist *del(Linklist*H,char x) /这是将指定的x删除的函数 Linklist *q=H,*p=H->next; while(strcmp(p->data,x)!=0 && p->next!=NULL)q=p; p=p->next; if(strcmp(p->data,x)=0 ) q->next=p->next; free(p); else printf("指定删除的数据不存在!"); for(p=H->next;p!=NULL;p=p->next) printf

6、("%s ",p->data); printf("n继续操作:"); return H;void main() char *ch="Apr","Jan","Jun","Mar","May" int i; char sh4; printf("请输入1、2、3、4以表示操作:n"); printf("1-创建 2-插入 3-删除 4-退出n"); Linklist *H,*p; do scanf("%d&

7、quot;,&i); switch(i) case 1: printf("现在开始创建:n"); H=creat(ch,5); printf("创建好的数据是:n"); for(p=H->next;p!=NULL;p=p->next) printf("%s ",p->data); printf("n继续操作:"); break; case 2: printf("开始插入:n"); printf("请输入你要插入的字符串:"); scanf("%s",sh); H=insert(H,sh); break; case 3: printf("开始删除:n"); printf("请输入你要删除的字符串:"); scanf("%s",sh); H=del(H,sh); break; case 4: printf("退出!n");break;default: break; while(i<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论