循环链表 男娘i 2022-06-13 03:41 240阅读 0赞 /*循环链表*/ #include<stdio.h> typedef struct node { int data; /*数据域*/ struct node * next; /*指针域*/ }Node,*LinkList; LinkList CreateLinkList(int n) /*建表*/ { LinkList h,p,q; int i,x; h=malloc(sizeof(Node)); /*生成头结点*/ p=h; p->next=NULL; /*初始化*/ for(i=1;i<=n;i++) { printf("Num %d:",i); scanf("%d",&x); q=malloc(sizeof(Node));/*生成新结点*/ q->data=x; p->next=q; /*链接到头结点*/ p=q; /*指向新的结点*/ } q->next=h; /*尾结点指向头结点*/ return h; } void PrintLinkList(LinkList h)/*输出*/ { LinkList p; p=h->next; while(p->next!=h->next) /*尾结点的下一结点不是头结点*/ { printf("%d ",p->data); p=p->next; } } LinkList LocaleLinkList(LinkList h,int i)/*定位*/ { LinkList p; p=h->next; int j=0; while(j<i && p->next!=h->next) { j++; p=p->next; } if(i==j) return p; /*查找到第i个节点*/ else return (NULL); } void InsertLinkList(LinkList h,int x,int i)/*插入*/ { LinkList p,q; if(i==1) p=h->next; else p=LocaleLinkList(h,i-1); if(p==NULL) printf("插入位置有误!\n"); else { q=malloc(sizeof(Node)); q->data=x; q->next=p->next; /*新结点的下一结点链入i结点下一结点*/ p->next=q; /*i结点下一结点链入新结点*/ } } main() { LinkList L; int i,n,x; printf("创建链表,输入结点个数:"); scanf("%d",&n); L=CreateLinkList(n); printf("输出链表:"); PrintLinkList(L); printf("\n"); printf("输入一个结点和位置:"); scanf("%d%d",&x,&i); InsertLinkList(L,x,i); printf("输出链表:"); PrintLinkList(L); printf("\n"); }
相关 【链表】单链表、双向循环链表 文章目录 前言 一:链表(LinkedList) 1.1 链表分类 1.2 介绍 1.3 链表的概念及结构 二: 骑猪看日落/ 2024年03月24日 18:19/ 0 赞/ 217 阅读
相关 循环链表 前文回顾 在 [单链表][Link 1] 中,我们重点介绍了单链表,涉及到单链表的结构以及单链表元素的读取、插入、删除。 这篇文章将对循环链表进行简单的介绍。 举例 今天药忘吃喽~/ 2023年10月05日 20:33/ 0 赞/ 2 阅读
相关 循环链表 循环链表和单链表没有本质上的差别。唯一不同的链表的最后不再是空的了,而是指向了first头指针。只有这样我们才会实现链表的循环功能,那么问题来了,我们在下面的函数功能中 ╰+哭是因爲堅強的太久メ/ 2022年08月13日 13:52/ 0 赞/ 237 阅读
相关 循环链表 一、解析 将单链表中终端结点的指针端由空指针改为指向头结点,就使整个链表形成一个环,这种头尾相接的单链表成为单循环链表,简称循环链表(circular linked list 男娘i/ 2022年06月18日 09:15/ 0 赞/ 290 阅读
相关 循环链表 循环链表 循环链表的原理:最后一个节点的next指向头节点,而不是NULL ![在这里插入图片描述][20181114202301997.png] - 迈不过友情╰/ 2022年04月17日 02:42/ 0 赞/ 264 阅读
相关 循环链表 好久没有接触数据结构和算法了,但是这些在面试中还是需要的所以打算重新复习下 今天打算用js来实现循环链表,看下别人怎么实现,发现很少使用js实现的,而且实现有点问题在对head 忘是亡心i/ 2022年01月20日 05:15/ 0 赞/ 421 阅读
相关 【数据结构】(循环链表)链接循环单链表 > 算法思想:这个就很简单了就是找尾指针的过程进行解链,和链接就行 void Link_A_B(LinkList &A,LinkList &B){ 落日映苍穹つ/ 2021年10月30日 00:20/ 0 赞/ 587 阅读
相关 循环链表/双向链表 Java实现循环链表 / @auther: 巨未 @DATE: 2019/1/4 0004 20:12 @Descriptio 深藏阁楼爱情的钟/ 2021年09月23日 07:02/ 0 赞/ 531 阅读
相关 循环链表 循环链表的定义和结构 在单链表中,使其最后一个结点的指针又指回到第一个结点,这样的线性链表叫做循环链表。 ![Center][] 判断表尾的条件:p→next==L 判 Bertha 。/ 2021年09月10日 23:06/ 0 赞/ 452 阅读
还没有评论,来说两句吧...