1、单链表的整表创建 单链表的整表创建有两种方法、一种是采用头插法、就是始终让新结点在第一个位置。另一种是采用尾插法、每次把新结点都插在终端结点的后面,按照排队时的正常思维,所谓的先来后到。 1.1、尾插法实现 整体思路: 首先定义一个节点p、该节点为头节点。 然后定义一个节点l、代表尾节点。 让p ...
分类:
其他好文 时间:
2021-06-02 18:35:08
阅读次数:
0
简介 链表中倒数第K个节点. 思路 双指针, 然后一个指针延迟运行. code class Solution { public: ListNode* getKthFromEnd(ListNode* head, int k) { ListNode *p = head; ListNode *pk = h ...
分类:
其他好文 时间:
2021-06-02 18:31:26
阅读次数:
0
链式存储结构的优点: ① 结点空间可以动态申请和释放; ② 数据元素的逻辑次序依靠结点的指针来指示,插入和删除时不需要移动数据元素。 链式存储结构的缺点: ① 存储密度小,每个节点的指针域需要额外占用存储空间。当每个节点的数据域所占 字节不多时,指针 域所占存储空间的比重显得很大。 // 存储密度 ...
分类:
其他好文 时间:
2021-06-02 18:16:28
阅读次数:
0
redis的List存储结构:一个链表加上压缩列表实现的 redis c语言源码双向循环列表# define QL_FILL_BITS 16# define QL_COMP_BITS 16# define QL_BM_BITS 4 /typedef struct quicklist { quickl ...
分类:
其他好文 时间:
2021-06-02 18:11:23
阅读次数:
0
给定一张$n$个点$m$条边的图和一个起点$s$,求删去一个点最多能改变$s$到多少个点的最短路。 ...
分类:
其他好文 时间:
2021-06-02 18:01:53
阅读次数:
0
  { let set = new Set(); let p = head; while (p) { //存在重复 if (set.has(p)) { return true; } set.add( ...
分类:
Web程序 时间:
2021-06-02 17:29:00
阅读次数:
0
删除 指针p 指向的 结点b ① p->prior->next = p->next; ② p->next->prior = p->prior; ③ free(p); 代码部分: void ListDelete_DuL(DuLink &L, int i, ElemType &e){ // 删除带头结点 ...
分类:
其他好文 时间:
2021-06-02 16:42:32
阅读次数:
0
题目 package whale.leetcode.simple; /** * @Author: WhaleFall541 * @Date: 2021/5/29 20:30 */ public class AddTwoSumLinkedList { public static class ListN ...
分类:
其他好文 时间:
2021-06-02 16:21:23
阅读次数:
0
一.为什么要用链表而不是数组 数组在定义了大小以后就不能随便改变了,而且数组要在内存中申请一块连续的区域,而链表可以随时增加或者减小元素,它的存储空间也是动态的。这对于内存的使用更加有性价比。 二.链表的组成部分 链表由头指针(不包括数据区域,只包含指向头节点的指针构成),头节点,常规节点,尾指针组 ...
分类:
其他好文 时间:
2021-06-02 16:09:29
阅读次数:
0