![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言链表
文章平均质量分 60
Cowcqw
这个作者很懒,什么都没留下…
展开
-
链表的交叉
两条链表发生交叉:如图如何判断链表是否交叉?原理:如果两个链表相交,则指向最后一个节点的指针必定相等void JudgeNode(ElemSN *head1,ElemSN*head2){ for( ;head1->next;head1=head1->next); for( ;head2->next;head2=head2->next); if(he...原创 2018-02-26 16:41:03 · 723 阅读 · 0 评论 -
单向链表的创建(正向建链、逆向建链)
正向创建单向链表(尾插)1.过程:①定义节点typdef struct node{ int date;//定义数据域 struct node * next;//定义指针域} ElemSN;②创建头节点,并使得头指针(head)和尾指针(tail)指向头节点Elemsn *head ,*tail;head=tail=(ElemSN*) mallco(sizeof(ElemSN))...原创 2018-02-14 17:53:11 · 2114 阅读 · 1 评论 -
单向链表的遍历、查找
单向链表的创建在这里不在赘述,详细请看另一篇文章《单向链表的创建》。在本篇文章中,主要通过举例的方式来帮大家理解单向链表的基本遍历。本篇文章中创建节点用以下表示typdef struct node{ int date;//定义数据域 struct node * next;//定义指针域 } ElemSN; 例一:输出单向链表尾节点的值void PrintTail(El...原创 2018-02-17 21:23:48 · 6731 阅读 · 0 评论 -
单向链表节点的移动(排序)
单向链表的创建在这里不在赘述,详细请看另一篇文章《单向链表的创建》。在本篇文章中,主要通过举例的方式来帮大家理解单向链表节点的移动。本篇文章中创建节点用如下表示typdef struct node{ int date;//定义数据域 struct node * next;//定义指针域 } ElemSN; 例一:设head指向一个非空单项链表,设数据域值不重复,且都为...原创 2018-02-23 09:45:54 · 2355 阅读 · 0 评论 -
单向链表节点的删除
单向链表的创建在这里不在赘述,详细请看另一篇文章《单向链表的创建》。在本篇文章中,主要通过举例的方式来帮大家理解单向链表节点的删除。本篇文章中创建节点用如下表示typdef struct node{ int date;//定义数据域 struct node * next;//定义指针域 } ElemSN; 在链表节点的删除中,可以分为两种情况①删除头节点pDel=he...原创 2018-02-18 08:58:34 · 1465 阅读 · 0 评论 -
带表头节点的单向链表
1.形态普通单向链表头节点前面增加一个空的表头节点2.表头节点数据域不用存储具体数值优点:查找链表不需要两个指针连动插入算法不用再区分头部中间3.实现带表头节点的单项链表ElemSN *CreadLink(int L)//定义链表长度{ ElemSN *head,*tail; head=tail=(ElemSN *)malloc(sizeof(ElemSN));//创建表头节点...原创 2018-02-23 10:58:05 · 2067 阅读 · 0 评论