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

上传人:11****ws 文档编号:4060474 上传时间:2019-09-21 格式:DOC 页数:5 大小:41KB
下载 相关 举报
钟晓鸿单循环链表基本操作.doc_第1页
第1页 / 共5页
钟晓鸿单循环链表基本操作.doc_第2页
第2页 / 共5页
钟晓鸿单循环链表基本操作.doc_第3页
第3页 / 共5页
钟晓鸿单循环链表基本操作.doc_第4页
第4页 / 共5页
钟晓鸿单循环链表基本操作.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、#include#includetypedef struct nodeint 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“,while(x!=-1)p=(lnode*)malloc(sizeof(lnode);p-data=x;r-next=p;r=p;scanf(“%d“,r-next=L;return L;/*打印链表

2、*/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

3、(linkedlist L) int x,j=1;linkedlist p=L-next;printf(“n/*求第 i 个元素*/n“);printf(“n 您要求第几个元素请输入:“);scanf(“%d“,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“,while(p-data!=x)j+

4、;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“,if(p-data=x) printf(“n%d 就是本单循环链表的第一个元素,故其没有前驱。“,x);elsewhile(p-data!=x)pre=pre-next;p=p-next;printf(“n 您输入的元素

5、%d 的前驱是%d“,x,pre-data);/*求某元素后继*/void linkedlistnext(linkedlist L)int x;linkedlist p=L-next;printf(“n/*求某元素后继 */n“);printf(“n 您要求哪个元素的后继请输入:“);scanf(“%d“,while(p-data!=x)p=p-next;if(p-next=L) printf(“n%d 是本单循环链表规定的最后一个值。 “,x);elseprintf(“n%d 的后继是%d“,x,p-next-data);/*在某元素后插入的函数*/void linkedlistinser(

6、linkedlist L)int x,y;linkedlist s,q=L-next,p=L-next;printf(“n/*在某元素后插入的函数*/n“);printf(“您要在哪个元素后插入什么元素请分别输入:“);scanf(“%d %d“,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/*

7、删除元素函数*/n“);printf(“n 您要删除哪个元素请输入:“);scanf(“%d“,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.删除元素函数

8、。n“);printf(“n 请选择:“);scanf(“%d“,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“,printf(“n 退出操作。“);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。