以下暂时只写明一些基本操作,待续。 一、简介 链表是动态分配存储空间的链式存储结构。 链表包括一个“头指针”变量,其中第0个结点称为整个链表的头结点,头结点中存放一个地址,该地址指向一个元素,头结点一般不存放具体数据,只是存放第一个结点的地址。链表中每一个元素称为“结点”,每个结点都由两部分组成:存 ...
分类:
编程语言 时间:
2018-09-02 17:12:21
阅读次数:
195
1、链式存储结构线性表的实现: 设计要点:类模板 通过头结点访问后继节点 定义内部结点类型Node,用于描述数据域和指针域 实现线性表的关键操作(增、删、改、查等) 2、LinkList 具体实现 问题:头结点隐患,实现代码优化 创建 时,会调用 ,用泛指类型创建头结点的数据域,当泛指类型为用户自定 ...
分类:
其他好文 时间:
2018-08-18 13:21:20
阅读次数:
149
1.什么是链表 优点:不需要处理固定容量的问题 缺点:丧失了随机访问的能力 2.数组和链表的对比 3.在链表头添加元素 4.在链表中间添加元素 5.链表中添加节点的代码实现 6.使用链表的虚拟头结点 ...
分类:
其他好文 时间:
2018-08-18 10:34:11
阅读次数:
131
问题描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:首先比较两个链表的头结点,如果链表1的头结点小于链表2的头结点,链表1的头结点将是合并后链表的头结点。然后继续合并两个链表中的剩余结点,两个链表中剩余的结点依然是有序的,因此合并步骤与第一步 ...
分类:
编程语言 时间:
2018-08-15 22:50:22
阅读次数:
202
题目 解析 通过递归实现;可以用先序遍历,然后串成链表 主要思想就是:先递归对右子树进行链表化并记录,然后将root right指向 左子树进行链表化后的头结点,然后一直向右遍历子树,连接上之前的右子树 理解上面代码过后就容易理解: "LeetCode | Flatten Binary Tree t ...
分类:
其他好文 时间:
2018-08-14 21:57:44
阅读次数:
123
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: ...
分类:
其他好文 时间:
2018-08-13 16:58:32
阅读次数:
106
* 参照php标准库设计接口 http://php.net/manual/en/class.spldoublylinkedlist.php * 反转单向链表 reverse方法, 其他的方法为了方便测试 * test * output: [0] => A[1] => B[2] => C[3] => ...
分类:
Web程序 时间:
2018-08-12 11:55:39
阅读次数:
203
一、问题描述 给定一个链表的数据结构和链表的头结点,和正整数N,要求删除倒数第N个结点 二、思路 删除链表的一个结点,如果你只有当前结点,可以将下一个结点的值赋值到当前结点,然后删除下一个结点就可以。 如果你能找到需要删除结点的上一个结点,那么你可以直接操作上一个结点的指针指向下下一个结点就可以 利 ...
分类:
其他好文 时间:
2018-08-11 19:41:00
阅读次数:
126
前言 为什么要学习数据结构与算法,如果你学会了做安卓,javaweb,前端等,都是你的武功秘籍,但是如果你的内功不够好,再厉害的功夫也是白费。 数据结构和算法:什么是数据结构,什么是数据,在计算机内部数据为01010101。。。,数据是我们生活中一切的事务都可以表示为数据,如你和你朋友聊天的话都是数 ...
分类:
编程语言 时间:
2018-08-07 01:31:43
阅读次数:
176