问题: 给定一个已排序的双向链表,向其中插入一个元素。solution:struct ListNode { int val; ListNode *prev; ListNode *next;};int insert(ListNode *head, int value){ Li...
分类:
其他好文 时间:
2015-08-21 20:51:45
阅读次数:
137
前段时间在看一本01年出的旧书《effective Tcp/Ip programming》,这个算法专题中断了几天,现在继续写下去。 Introduction 对于单向链表(singly linked list),每个节点有?个next指针指向后一个节点,还有一个成员变量用以储存数值;对于双向链表(...
分类:
编程语言 时间:
2015-08-17 23:23:21
阅读次数:
259
jdk1.8.0_45源码解读——LinkedList的实现一、LinkedList概述 LinkedList是List和Deque接口的双向链表的实现。实现了所有可选列表操作,并允许包括null值。 LinkedList既然是通过双向链表去实现的,那么它可以被当作堆栈、队列或双端队列进行操作。.....
分类:
其他好文 时间:
2015-08-17 18:54:12
阅读次数:
126
输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向两步。空间复杂度为O(1).
最笨的方法就是中序遍历放在一个数组或链表中,再次遍历串联起来。但是要求空间复杂度为O(1),就没办法这么做了,这时候可以参考这个解法。http://blog.csdn.net/my_jobs/article/details/47666909判断一个树是不是一颗二叉搜索树,可以模仿最后的那个方法。
本题跟...
分类:
其他好文 时间:
2015-08-17 15:31:46
阅读次数:
131
顺序容器总结:array:固定大小的数组,支持快速访问,不能添加和删除元素vector:动态数组,支持快速访问,但在尾部之外插入或删除元素会很慢string:与vector相似的容器,用于保存字符deque:双向队列,支持快速随机访问,在头尾位置插入元素速度很快list:双向链表,支持双向访问,在链...
分类:
其他好文 时间:
2015-08-15 19:51:30
阅读次数:
228
list类型及操作List是一个链表结构,主要的功能是push、pop获取一个范围的所有值等等,操作中key理解为链表的名字,Redis的list类型其实就是一个每子元素都是string类型的双向链表,我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以...
分类:
其他好文 时间:
2015-08-13 21:51:55
阅读次数:
177
ist是双向链表的泛化容器,提供了splice和merge归并函数,sort函数利用list的数据结构特点对元素进行了归并排序。创建list对象创建list对象的方式主要有以下几种。
(1) list()list l;(2) list(size_type n)list l(10);(3) list(size_type n,const T&value)list l(10...
分类:
其他好文 时间:
2015-08-13 18:08:50
阅读次数:
148
数据结构之双向链表
例如:现有双向链表TwoWayLinked中存储着1,2,3,4四个元素,那么集合对象中会有4个节点A、B、C、D,由上述结构可以知道,节点A中存储着元素1和节点B;节点B中存储着元素2和节点A和节点C,节点C中存储着元素3和节点B和节点D,节点D中存储着元素4和节点C。如果现在要在元素2和3中间插入一个元素5;
过程如下:
1、创建节点E,E中存储元素5
2、将E中的...
分类:
编程语言 时间:
2015-08-12 19:38:45
阅读次数:
114
数据结构之单向链表
例如:现有双向链表OneWayLinked中存储着1,2,3,4四个元素,那么集合对象中会有4个节点A、B、C、D,由上述结构可以知道,节点A中存储着元素1和节点B;节点B中存储着元素2和节点C,节点C中存储着元素3和节点D,节点D中存储着元素4和null。如果现在要在元素2和3中间插入一个元素5;
过程如下:
1、创建节点E,E中存储元素5
2、将B中的下一个节点修改...
分类:
编程语言 时间:
2015-08-12 19:36:30
阅读次数:
111
ng_queue_t是Nginx提供的一个顺序容器,它以双向链表的方式将数据组织在一起。
链表作为顺序容器的优势在于,它可以高效的执行插入、删除、合并等操作,在移动链表中的元素时只需要修改指针的指向,因此,它很适合频繁修改容器的场合。
相对于其他顺序容器,它的优势有以下三点:
(1) 实现了排序功能,采用额是插入排序,虽然不太适合超大规模数据的排序,但是简单实用。
(2) 它非常轻...
分类:
其他好文 时间:
2015-08-10 22:26:02
阅读次数:
166