下载此文档

单链表基本操作实验.docx


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
实验2链表的操作实验内容:1) 基础题:编写链表基本操作函数,链表带有头结点(1) CreatList_h()//用头插法建立链表(2) CreateList_t()//用尾插法建立链表(3) InsertList()向链表的指定位置插入元素(4) DeleteList()删除链表中指定元素值(5) FindList()查找链表中的元素(6) OutputList()输出链表中元素2) 提高题:(1) 将一个头节点指针为heada的单链表A分解成两个单链表A和B,其头结点指针分别为heada和headb,使得A表中含有原单链表A中序号为奇数的元素,B表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。(2) 将一个单链表就地逆置。即原表(a1,a2,。。。。。。an),逆置后新表(an,an-1,。。。。。。。a1)/*程序功能:单链表基本功能操作编程者:杨天啸日期:2016-04-14版本号:*/#include<>#include<>typedefstructList{ intdata;structList*next;}List;voidCreatList_h(List*L)//头插法{ inti=0; intn=0; intgoal; List*p; printf("请输入数据的个数:\n"); scanf("%d",&n); L->next=NULL; for(i=0;i<n;i++) { printf("请输入第%d个数:\n",i+1); scanf("%d",&goal); p=(structList*)malloc(sizeof(structList)); p->data=goal; p->next=L->next;//将L指向的地址赋值给p; L->next=p; }}voidCreateList_t(List*L)//尾插法{ inti; intn; intgoal; List*p; List*q=L; printf("请输入数据的个数:\n"); scanf("%d",&n);for(i=0;i<n;i++){ printf("请输入第%d个数:\n",i+1); scanf("%d",&goal); p=(structList*)malloc(sizeof(structList)); p->data=goal; q->next=p; q=p;} q->next=NULL;}voidInsList(List*L,inti,inte)//插入{List*s; List*p=L; intj=0;while(p&&j<i-1){p=p->next;++j;}s=(structList*)malloc(sizeof(structList));s->data=e;//插入L中s->next=p->next; p->next=s;return;}voidDeleteList(List*L,inte)//删除{List*q;List*p=L;while(p->next&&p->next->data!=e){p=p->next;}if(!(p->next)){printf("不存在该元素!\n");exit(0);} q=p->next;p->next=q->next;e=q->data; free(q

单链表基本操作实验 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xiang1982071
  • 文件大小16 KB
  • 时间2019-09-10