//声明旧结点为prev,新结点为current //声明结点为结构体指针,便于地址的值传递与使用函数时的传参 1. prev->next = current //旧结点指向新结点,相当于将新结点串到链表上 2.prev = current //将结点串到尾结点上,以便于随后malloc一个新的结点... ...
分类:
其他好文 时间:
2017-09-11 10:26:26
阅读次数:
221
1. 如果一个链表结点数大于等于2,把首节点变为尾结点 2. 将单循环链表拆成两个单循环链表 3. 有一个递增有序的顺序表va。将 x 插入到顺序表的适当位置上,保持顺序表有序 4. 在带头结点的单链表结构上实现线性表操作 Locate(L,x) ...
分类:
其他好文 时间:
2017-08-31 14:33:18
阅读次数:
119
链表结构如下: 删除函数如下: void DeleteNode(Nodes head,Nodes target) 很简单的想法就是,要删除该结点,可以把该结点的下一个结点的值赋给该结点,接着删除下一个结点即可。 但要考虑三种情况,一是该结点是尾结点,二是除了头结点以外,只有一个结点,三是只有头结点, ...
分类:
其他好文 时间:
2017-08-01 17:49:57
阅读次数:
131
链式存储结构的定义 1.概念定义: - n个结点离散分配 - 彼此通过指针相连 - 每个结点只有一个前驱结点和一个后继结点 - 首结点没有前驱结点,尾结点没有后继结点 2.专业术语 -首结点:第一个有有效数据的结点 -尾结点:最后一个有有效数据的结点 -头结点:第一个有效结点之前的那个结点,头结点并 ...
分类:
其他好文 时间:
2017-07-24 19:03:40
阅读次数:
158
1. 什么是循环链表 (1)概念上 ①任意数据元素都有一个前驱和一个后继 ②所有的数据元素的关系构成一个逻辑上的环 (2)实现上 ①循环链表是一种特殊的单链表 ②尾结点的指针域保存了首结点的地址 2. 循环链表的实现思路 (1)通过模板定义CircleList类,继承自LinkList类 (2)定义 ...
分类:
其他好文 时间:
2017-07-01 19:23:01
阅读次数:
149
题目大意: 用集合A中的串构造出一个串,使之让很多其它的setB中的串成为他的子串。 思路分析: 和 Codeforces 86C 几乎相同。 只是这里是要用A中的构造。 先用A 和 B的串构造一个自己主动机。然后对于A集合的尾结点给出一个最大后缀匹配,对于B集合的尾结点给一个权值。 dp[i][j ...
分类:
其他好文 时间:
2017-06-30 23:48:39
阅读次数:
460
在表中第i个元素之前插入一个元素。主要有三个方面: 头结点及尾结点指针域的变化 查找过程中循环条件的变化 插入元素过程中的指针运算 在表建好以后,调用GetElemP_DuL()函数查找第i个元素,返回第i个元素的地址,否则返回空指针。 如图: 程序: #include<stdio.h>#inclu ...
分类:
其他好文 时间:
2017-05-30 18:07:14
阅读次数:
294
单链表:只指出后继关系的链表 双链表:同时存储前趋和后继 循环链表:指出后继的同时指出头结点和尾结点的关系 单链表的存储 定义一个结点类型 struct linkRec { datatype data; linkRec *next; } 单链表操作-插入 在结点p后插入一个结点 *申请空间 *输入数 ...
分类:
其他好文 时间:
2017-05-20 22:44:21
阅读次数:
247
题目: 输入一个链表。输出该链表中倒数第k哥结点。 为了符合大多数人的习惯,本题从1開始计数。即链表的尾结点是倒数第1个结点。 比如一个链表有6个结点。从头结点開始它们的值依次是1。2。3,4,5,6.这个链表的倒数第3个结点是值为4的结点 为了得到第K个结点,非常自然的想法是先走到链表的尾端。再从 ...
分类:
编程语言 时间:
2017-05-18 13:29:50
阅读次数:
252
OJ题号:HDU1251 思路: Trie,插入时新增一个附加值cnt记录经过当前结点的字符串个数,每插入一个字符串时就将每个结点+1。 每次询问时,如果遇到不存在的结点,就说明没有以该字符串为前缀的字符串,直接跳出。 如果找到了当前字符串的末尾结点,就将当前结点的cnt值累加到ans中。 注:本随 ...
分类:
其他好文 时间:
2017-05-06 16:36:21
阅读次数:
160