/////////////////////////////////定义节点结构体 struct node{ int data; struct node *pnext;}; ////////////////////////////////////main函数 int main(){ struct no ...
分类:
其他好文 时间:
2019-11-30 16:28:16
阅读次数:
94
1 链表的概念及结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 实际中链表的结构非常多样,以下情况组合起来就有8种链表结构: 1. 单向、双向 2. 带头、不带头 3. 循环、非循环。 常用的有无头单向非循环链表、带头双向循环链表。 ...
分类:
其他好文 时间:
2019-11-30 09:21:24
阅读次数:
85
一、链表 单项链表、循环链表、双向链表 链表和数组不同,链表的每个元素都存储了下一个元素的地址,所以链表不需要连续的存储空间; 如果我们申请一个 100MB 大小的数组,当内存中没有连续的、足够大的存储空间时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。 1、 单链表 :内存块称为链表 ...
分类:
编程语言 时间:
2019-11-29 18:34:20
阅读次数:
155
6-4 递增的整数序列链表的插入 (15 分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 函数接口定义: List Insert( List L, ElementType X ); 其中List结构定义如下: typedef struct Nod ...
分类:
其他好文 时间:
2019-11-25 20:42:01
阅读次数:
60
6-9 单链表分段逆转 (25 分) 给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1→6→5→4;如果 K=4,则应该得到 4→3→2→1→5→6。 函数接口定义: void K_Reve ...
分类:
其他好文 时间:
2019-11-25 20:25:29
阅读次数:
101
单链表反转可用迭代法,也可用递归方法,这里用迭代法(循环)实现。 示意图如下,其中pre指前一个节点,cur指当前节点,temp为临时节点。 主要思路就是让当前节点指向前一个节点,即cur->next=pre,需要事前将cur->next赋值给temp。然后下移即可。 ...
分类:
编程语言 时间:
2019-11-23 22:21:19
阅读次数:
105
1. 如何在一次传递中找到单链表的中间元素? 答案:http://javarevisited.blogspot.sg/2012/12/how-to-find-middle-element-of-linked-list-one-pass.html 2. 如何在不使用递归的情况下反转单链表? 答案:ht ...
分类:
其他好文 时间:
2019-11-23 20:27:14
阅读次数:
70
示例: 在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来存储下一个节点。不要忘记在最后返回新的头引用! ...
分类:
编程语言 时间:
2019-11-23 00:00:59
阅读次数:
91
```mysql select , group_concat( ) from group by order by desc; select from group by ,`字段名称2`; select , from inner join on =`关联表.外键`; select , from inn ...
分类:
数据库 时间:
2019-11-21 20:07:10
阅读次数:
85
题目描述: 反转一个单链表。 思路分析: 方法一:迭代假设存在链表 1 → 2 → 3 → Ø,我们想要把它改成 Ø ← 1 ← 2 ← 3。 在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来 ...
分类:
其他好文 时间:
2019-11-19 16:58:30
阅读次数:
73