不带头节点链表单向链表是链表的一种。单向链表由一系列内存不连续的节点组成,每个节点都包含指向值的域和指向下个节点的next指针。最后一个节点的next域为NULL值,代表链表结束。链表示意图如下:一,结构体1,结构体定义:structLinkNode
{
void*x;
structLinkNode*next;
};..
分类:
其他好文 时间:
2016-09-04 00:19:51
阅读次数:
308
单链表实现分带头节点链表和不带头节点链表:使用头文件如下:structLinkNode
{
void*x;
structLinkNode*next;
};一,带头节点的链表:1,链表创建程序说明:1)函数调用形式:szyu_link_create0("AA","BB",NULL);其中NULL结尾是在for循环的判断结束条件为x==NULL。使用NULL可..
分类:
其他好文 时间:
2016-08-29 13:27:06
阅读次数:
187
| 版权声明:本文为博主原创文章,未经博主允许不得转载。 1、知识点: (1)、循环链表其实就是将单项链表的首尾连接起来。就是在链表的尾部添加一个指向头节点的指针(及在结束节点的next域中 的NULL值改成指向头节点的指针就行了)。 (2)、存在一个尾指针rear,在一些实际的例子中使用rear指 ...
分类:
其他好文 时间:
2016-08-21 00:55:13
阅读次数:
131
题目描述: 输入一个单向链表,判断链表是否有环? 分析: 通过两个指针,分别从链表的头节点出发,一个每次向后移动一步,另一个移动两步,两个指针移动速度不一样,如果存在环,那么两个指针一定会在环里相遇。 ...
分类:
其他好文 时间:
2016-08-15 10:16:08
阅读次数:
128
单链表的反转问题单链表反转问题经常会遇到。在此记录一下,以便查阅方便。如果反转一个有头结点的使用下面的方法比较合适。//反转单链表,此单链表带有头节点。
//思想:使用tmp临时指针保存头结点与链表的关系
typedefstructListNode
{
intdata;
structListNode*next;
}Lis..
分类:
其他好文 时间:
2016-08-12 21:45:48
阅读次数:
136
在链表中找到第一个含有某值的节点并删除该节点。 在这里我创建的链表里,头节点是不包含有效数据的,它只是起一个辅助作用,真正的链表数据从首节点开始。 typedef struct Node{ int data; //数据域 struct Node * pNext; //指针域}NODE, *PNODE... ...
分类:
其他好文 时间:
2016-08-12 10:12:53
阅读次数:
156
只想到了朴素的n^2做法,然后发现可以用splay维护。于是调了几个小时的splay。。。 splay的元素是从第二个开始的!第一个是之前插入的头节点! ...
分类:
其他好文 时间:
2016-07-30 14:47:19
阅读次数:
204
1 //单循环链表(对两个单循环链表L1、L2进行连接操作,即将L2的第一个数据元素节点连接到L1的尾节点之后,时间复杂度O(n)优化为O(1)) 2 q = r1->next; //保存L1的头节点指针 3 r1->next = r2->next->next; //L1与L2尾头连接 4 free ...
分类:
其他好文 时间:
2016-07-24 10:30:13
阅读次数:
159
/*========带头节点的线性链表类型=========*/
typedef char ElemType
//结点类型
typedef struct LNode
{
char data;
struct LNode *next;
}*Link,*Position;
//链表类型
typedef struct
{
Link head,tail;
int le...
分类:
其他好文 时间:
2016-07-13 17:07:55
阅读次数:
149
题目描述: 给定两个单链表的头节点head1和head2,如何判断两个链表是否相交?相交的话返回true,不想交的话返回false。 给定两个链表的头结点head1和head2。请返回一个bool值代表它们是否相交。 链表中节点的类型设置如下: 思路: 1、首先判断是否有环, 若两个链表都没有环,则 ...
分类:
其他好文 时间:
2016-07-12 18:59:00
阅读次数:
210