首页 钟晓鸿单循环链表基本操作

钟晓鸿单循环链表基本操作

举报
开通vip

钟晓鸿单循环链表基本操作#include #include typedef struct node { int data; struct node *next; }lnode,*linkedlist; /*单循环链表建立*/ linkedlist linkedlistcreat() { int x; linkedlist L,p,r; L=(lnode*)malloc(sizeof(lnode)); L->next=NULL; r=L; scanf("%d",&x); while(x!=-1) { p...

钟晓鸿单循环链表基本操作
#include #include typedef struct node { int data; struct node *next; }lnode,*linkedlist; /*单循环链 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 建立*/ linkedlist linkedlistcreat() { int x; linkedlist L,p,r; L=(lnode*)malloc(sizeof(lnode)); L->next=NULL; r=L; scanf("%d",&x); while(x!=-1) { p=(lnode*)malloc(sizeof(lnode)); p->data=x; r->next=p; r=p; scanf("%d",&x); } r->next=L; return L; } /*打印链表*/ void linkedlistprint(linkedlist L) { linkedlist p=L->next; printf("\n///////////////////////*打印链表*////////////////////////////\n"); while(p!=L) { printf("%5d",p->data); p=p->next; } } /*求单循环链表的长度*/ void linkedlistlenght(linkedlist L) { int x=0; linkedlist p=L->next; while(p!=L) { x++; p=p->next; } printf("\n//////////////////////////*求单循环链表的长度*///////////////////////////"); printf("\n本单循环链表的长度是:%d",x); } /*求第i个元素*/ void linkedlistget(linkedlist L) { int x,j=1; linkedlist p=L->next; printf("\n//////////////////////////*求第i个元素*///////////////////////////\n"); printf("\n您要求第几个元素请输入:"); scanf("%d",&x); while(jnext; } printf("您要求的第%d个元素是%d",x,p->data); } /*元素定位*/ void linkedlistlocate(linkedlist L) { linkedlist p=L->next; int x,j=1; printf("\n/////////////////////////*元素定位*///////////////////////////\n"); printf("您要定位的元素是什么请输入:"); scanf("%d",&x); while(p->data!=x) { j++; p=p->next; } printf("您要定位的元素%d是本单循环链表中的第%d个元素",x,j); } /*求某元素前驱*/ void linkedlistprior(linkedlist L) { linkedlist pre=L,p=L->next; int x; printf("\n////////////////////////////*求某元素前驱*////////////////////////////\n"); printf("\n您要用于求其前驱的元素是请输入:"); scanf("%d",&x); if(p->data==x) printf("\n%d就是本单循环链表的第一个元素,故其没有前驱。",x); else { while(p->data!=x) { pre=pre->next; p=p->next; } printf("\n您输入的元素%d的前驱是%d",x,pre->data); } } /*求某元素后继*/ void linkedlistnext(linkedlist L) { int x; linkedlist p=L->next; printf("\n////////////////////////////*求某元素后继*////////////////////////////\n"); printf("\n您要求哪个元素的后继请输入:"); scanf("%d",&x); while(p->data!=x) { p=p->next; } if(p->next==L) printf("\n%d是本单循环链表规定的最后一个值。",x); else printf("\n%d的后继是%d",x,p->next->data); } /*在某元素后插入的函数*/ void linkedlistinser(linkedlist L) { int x,y; linkedlist s,q=L->next,p=L->next; printf("\n/////////////////////////////*在某元素后插入的函数*/////////////////////////////\n"); printf("您要在哪个元素后插入什么元素请分别输入:"); scanf("%d %d",&x,&y); s=(lnode*)malloc(sizeof(lnode)); s->data=y; while(p->data!=x) { p=p->next; } s->next=p->next; p->next=s; } /*删除元素函数*/ void linkedlistdelete(linkedlist L) { int x; linkedlist pre=L,p=L->next; printf("\n//////////////////////////////*删除元素函数*//////////////////////////////\n"); printf("\n您要删除哪个元素请输入:"); scanf("%d",&x); while(p->data!=x) { pre=pre->next; p=p->next; } pre->next=p->next; free(p); } void main() { int flag; linkedlist p; printf("\n请您输入数据构造单循环链表:"); p=linkedlistcreat(); printf("\n///////////////////////////请您选择操作类型///////////////////////////\n"); printf("0.退出操作。1.打印链表。2.求链表长度。3.求第i个元素。4.元素定位。5.求某元素前驱。6.求某元素后继。7.在某元素后插入的函数。8.删除元素函数。\n"); printf("\n请选择:"); scanf("%d",&flag); while(flag) { switch(flag) { case 0: break;/*退出操作*/ case 1: linkedlistprint(p); break;/*打印链表*/ case 2: linkedlistlenght(p); break;/*求单循环链表的长度*/ case 3: linkedlistget(p); break;/*求第i个元素*/ case 4: linkedlistlocate(p); break;/*元素定位*/ case 5: linkedlistprior(p); break;/*求某元素前驱*/ case 6: linkedlistnext(p); break;/*求某元素后继*/ case 7: linkedlistinser(p);break;/*在某元素后插入的函数*/ case 8: linkedlistdelete(p);break;/*删除元素函数*/ } printf("\n请选择:"); scanf("%d",&flag); } printf("\n退出操作。"); }
本文档为【钟晓鸿单循环链表基本操作】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:25KB
软件:Word
页数:0
分类:工学
上传时间:2020-03-08
浏览量:9