电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据结构验证作业

8页
  • 卖家[上传人]:jiups****uk12
  • 文档编号:37707555
  • 上传时间:2018-04-21
  • 文档格式:DOC
  • 文档大小:45.50KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1数据结构数据结构实验报告一实验报告一一、上机实验的问题和要求:一、上机实验的问题和要求:单链表的查找、插入与删除。设计算法,实现线性结构上的单链表的产生以及元素的 查找、插入与删除。具体实现要求: 1.从键盘输入 20 个整数,产生不带表头的单链表,并输入结点值。 2.从键盘输入 1 个整数,在单链表中查找该结点的位置。若找到,则显示“找到了” ;否 则,则显示“找不到” 。 3.从键盘输入 2 个整数,一个表示欲插入的位置 i,另一个表示欲插入的数值 x,将 x 插 入在对应位置上,输出单链表所有结点值,观察输出结果。 4.从键盘输入 1 个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结 果。 5.将单链表中值重复的结点删除,使所得的结果表中个结点值均不相同,输出单链表所 有结点值,观察输出结果。 6.删除其中所有数据值为偶数的结点,输出单链表所有结点值,观察输出结果。 7.把单链表变成带表头结点的循环链表,输出循环单链表所有结点值,观察输出结果。 8.()将单链表分解成两个单链表 A 和 B,使 A 链表中含有原链表中序号为奇数的元 素,而 B 链表中含有原链表中序

      2、号为偶数的元素,且保持原来的相对顺序,分别输出 单链表 A 和单链表 B 的所有结点值,观察输出结果。二、程序设计的基本思想,原理和算法描述:二、程序设计的基本思想,原理和算法描述:1、基本操作函数 link * get(link *l, int i); /创建链表 link * ins (link *l, int a,int i)/在链表内插入值 link * find(link *l, int a);/在链表内查找值 link * del(link *l, int i);/在链表内删除值 link * delrepeat( link *l);/在链表内删除重复值 link * deleven(link *l);/删除链表内偶数值 link * rotate(link *l);/形成循环链表 void divide(link *l);/分解成两个链表 cout using namespace std;typedef struct node int data; struct node *next; link;void print1(link *l);link * get(link *l

      3、, int i) link *p; int j=0; p=l; while(jnext!=NULL) p=p-next;j+; if(j=i) return p; else return NULL; link * ins (link *l, int a,int i) link *p,*s; p=get(l,i-1); if(p=NULL) coutdata=a; s-next=p-next; p-next=s; return l;3link * find(link *l, int a) link *p; int i=0; int j=0; p=l;while(p!=NULL) i+; if(p-data!=a) p=p-next; else coutnext; if(j!=1) coutnext; p-next=s-next; free(s); return l; link * delrepeat( link *l) / 删除相同元素并释放内存 link *s, *r, *t; 4if ( l- next = NULL ) return l; s = l- next; while (

      4、s- next ) t = s; r = s- next; while ( t- next ) if ( s- data = r- data ) t- next = r- next; free(r); r = t- next; else t = t- next; r = t- next; s = s- next; if ( !s ) return l; return l; link * deleven(link *l) link *q=l; link *p=l-next;while(p) if(p-data%2=0) link *r=p; q-next=p-next; p=p-next; free(r); else p=p-next; q=q-next;5 return l; link * rotate(link *l) link * p=l; while(p-next)p=p-next; p-next=l;link * t=l-next; while(t!=l) t=t-next; coutnext=NULL; link *Lb=b;int i=1;link * La=l; link

      5、 * p=l-next; while(p) if(i+%2=0) La-next=p-next; p-next=NULL; Lb-next=p; Lb=Lb-next; p=La-next; else p=p-next; La=La-next;6 coutnext; if(l!=NULL) do coutdatanext; while(p!=NULL); coutnext; if(l!=NULL) do coutdatanext; while(p!=NULL); coutk; if(k=1) couta; couti; p=ins(l,a,i); q=print(l); else if(k=2) couta; p=find(l,a); q=print(l); else if(k=3) couti; p=del(l,i); q=print(l); else if(k=4) coutnext=NULL; r=l; for(i=0;ichi; p=(link *)malloc(sizeof(link); p-data=chi;p-next=NULL; r-next=p;r=r-next; q=print(l); return 0;

      《数据结构验证作业》由会员jiups****uk12分享,可在线阅读,更多相关《数据结构验证作业》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.