LinkedList
LinkedList基于双向循环链表实现。也可以被当做堆栈,队列或双端队列进行操作。非线程安全。下面直接贴ArrayList的Java实现(只贴了部分代码),来源JDK1.8.0_25/src.zip。
/**
* ****双向链表对应的数据结构*********
* 包含:节点值item
* 前驱 pre
* ...
分类:
编程语言 时间:
2015-05-20 22:22:46
阅读次数:
189
分析:1.二叉树的中序遍历正好是排好序的遍历方式,因此可以采用中序递归的方式来处理;2.可以用类似输出流的方式来”输出“节点到链表末尾;3.可以用局部变量来简化判断,优化程序。程序:typedefstructtagTreeNode_s{intnValue;tagTreeNode_s*pLeftNode;tagTreeNode_s*pRight..
分类:
编程语言 时间:
2015-05-20 15:07:25
阅读次数:
116
分析:1.二叉树的中序遍历正好是排好序的遍历方式,因此可以采用中序递归的方式来处理;2.可以用类似输出流的方式来”输出“节点到链表末尾;3.可以用局部变量来简化判断,优化程序。程序:typedefstructtagTreeNode_s{intnValue;tagTreeNode_s*pLeftNode;tagTreeNode_s*pRight..
分类:
编程语言 时间:
2015-05-20 15:06:27
阅读次数:
119
为了解决对链表操作的灵活性,把单链表的单一指向改为双向驱动,从而形成双向链表。Java的LinkedList就是双向链表的实现,但是因为有双端队列的成分,显得有些不单纯。 ? ■双向链表的节点定义 ? ??? privat...
分类:
其他好文 时间:
2015-05-19 07:35:16
阅读次数:
142
链表由无数模块(struct)穿成一串组成,每个模块都有两个指针(双向链表),一个指向上一个模块,一个指向下一个模块,还有一些其他变量用来存储自己想要存储的内容。 嗯,话说作者前几天还想要写一个无限精确度的计算器呢,就想到用链表实现。 //这里每一位=一个模块 struct BIT { BIT* p...
分类:
其他好文 时间:
2015-05-17 02:03:52
阅读次数:
117
一、顺序容量STL list类(双向链表) list是一个模板类,可以在list头部、尾部、中间任意部位很方便地插入元素,这就区别于STL的其他模板类; vector向量只能在尾部插入数据; deque可以在头部和尾部拆入; 标准模板类中实现了对list中元素的反转和排序方法; 1 #inc...
分类:
其他好文 时间:
2015-05-16 01:21:59
阅读次数:
109
初始化 : 头结点 尾结点 都赋值为空删除 : 判定条件链表长度做判断条件 删除 释放插入: 1,给一个结点后面插入 2,在一个结点前面插入1)a,分配结点失败 返回 -1 b, 链表长度为0. 头部尾部都链接新结点,最后将新结点的头部尾部置为空 正常的插入四步 也得判断一下被插入结点...
分类:
其他好文 时间:
2015-05-10 22:20:57
阅读次数:
151
一、循环链表
什么是循环链表?
最后一个结点的链接又指回头结点(第一个结点)的链表,整个链表形成一个环。与单链表相比,操作时判断最后一个结点的条件为:结点的链接是否为头结点
空表
条件:L->next==L非空表 条件 p->next==L二、双向链表-什么是双向链表?
用两个链接表示元素间的逻辑关系,其一指向直接后继,其二指向直接前驱。算法描述
typedef struct D...
分类:
其他好文 时间:
2015-05-10 14:19:01
阅读次数:
114
精选微软等公司,数据结构+算法,经典面试100题 --------之前40题--------------------------算法面试:精选微软等公司经典的算法面试100题 第1-40题如下:--------------- --------------1.把二元查找树转变成排序的双向链表题目:输....
分类:
编程语言 时间:
2015-05-09 20:24:32
阅读次数:
207