deque:双端队列 底层是一个双向链表。 常用的有队列的尾部入队、首部出队。 摘自:http://www.cnblogs.com/liubilan/p/9461141.html deque - 双向队列 1.构造 无参构造: 带参构造: 2.头部&尾部的添加和删除 3.中间数据存取 4.元素插入 ...
分类:
其他好文 时间:
2018-08-29 14:19:17
阅读次数:
142
1.基于数组的链表 2.双向链表 3.双向队列 4.堆 ...
分类:
编程语言 时间:
2018-08-28 17:54:28
阅读次数:
216
1. 基本结构 Redis 早期版本存储 list 列表数据结构使用的是压缩列表 ziplist 和普通的双向链表 linkedlist,也就是元素少时用 ziplist,元素多时用 linkedlist。 ...
分类:
其他好文 时间:
2018-08-27 15:27:28
阅读次数:
154
1. FIFO -- 先进先出 如果一个数据最先进入缓存中,则应该最早淘汰掉。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。 实现: 利用一个双向链表保存数据,当来了新的数据之后便添加到链表末尾,如果Cache存满数据,则把链表头部数据删除,然后把新的数据添加到链表末尾。在访问数据的时 ...
分类:
编程语言 时间:
2018-08-26 22:02:03
阅读次数:
177
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个 ...
分类:
其他好文 时间:
2018-08-24 22:14:05
阅读次数:
179
本文目前分享的题目都是来自于July的分享,然后把具体算法实现。搜索树转双向链表主要的实现逻辑是在中序遍历时,调整节点的左右子树;因为中序遍历是递归调用,所以在调整时一定要注意调整的位置,如果写错了,很有可能造成死循环。避免的主要办法是在读完左子树时调整左节点,遍历完右子树时调整右节点,具体代码见t ...
分类:
编程语言 时间:
2018-08-21 15:21:53
阅读次数:
187
packagedemo;importjava.util.Collection;publicclassMyLinkedList<E>{//属性//构造方法publicMyLinkedList(){}publicMyLinkedList(Collection<?extendsE>c){this();addAll(c);}//构建双向链表,首先要构建节点//建立成员内部类节点,p
分类:
其他好文 时间:
2018-08-17 22:20:25
阅读次数:
164
线性表是一种可以在任意位置插入和删除元素,由n个同类型元素组成的线性结构。主要包括顺序表,单链表,循环单链表,双向链表和仿真链表。应用比较广泛的是顺序表和单链表。 2 下面是线性表的接口,主要操作包括插入元素,删除元素,取得元素,得到线性表元素个数,判断线性表是否为空。 3 package com.... ...
分类:
编程语言 时间:
2018-08-17 14:57:57
阅读次数:
167
双向队列 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LI ...
分类:
其他好文 时间:
2018-08-17 10:14:34
阅读次数:
138
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 核心:利用中序遍历的结果有序的性质,遍历出有序的序列,然后对每个序列将left设置为前一个结点,将right设置为后一个结点 (重点掌握二叉树的遍历递归过程和步骤逻辑) 1 ...
分类:
其他好文 时间:
2018-08-14 14:52:24
阅读次数:
176