#include
using namespace std;
//没有采用迭代器和空间配置器所实现的双向链表的基本功能
template //定义模板类
class list //list类
{
public:
typedef size_t s...
分类:
编程语言 时间:
2015-07-10 22:25:43
阅读次数:
148
问题描述:
输入一棵二叉搜索树,现在要将该二叉搜索树转换成一个排序的双向链表。而且在转换的过程中,不能创建任何新的结点,只能调整树中的结点指针的指向来实现。
解析:
借助二叉树中序遍历,因为中序遍历二叉搜索树的特点就是从小到大访问结点。当遍历访问到根结点时,假设根结点的左侧已经处理好,只需将根结点与上次访问的最近结点(左子树中最大值结点)的指针连接好即可。进而更新当前链表的最后一个结点指针。
递归算法:
(1)中序遍历。
(2)原先指向左子结点的指针调整为链表中指向前一个结点的指针,原先指向右子结点...
分类:
其他好文 时间:
2015-07-10 11:26:22
阅读次数:
118
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点的方向。如下图所示:二叉树的结点定义如下:1 struct BinaryTreeNode2 {3 int m_nValue;4 BinaryTreeNode* m_pLeft;...
分类:
其他好文 时间:
2015-07-09 17:37:54
阅读次数:
99
一、LinkedList简介
LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。
ps:这里有一个问题,就是关于实现LinkedList的数据结构是否为循环的双向链表,上网搜了有很多文章都说是循环的,并且有的文章中但是我看了源代码觉得应该不是循环的?
例如在删除列表尾部节点的代码:
private E unli...
分类:
编程语言 时间:
2015-07-08 22:42:24
阅读次数:
172
一、LinkedList简介 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。 ps:这里有一个问题,就是关于实现LinkedList的数据结构是否为循环的双向链表,上网搜了有很多文章都说是循环的,并且有的文章中但是我看了源代码觉得应该不是循环.....
分类:
编程语言 时间:
2015-07-08 18:36:32
阅读次数:
209
List简介
list是一个双向链表容器,可高效地进行插入删除元素。
list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err)
#include
list对象的默认构造
list采用采用模板类实现,对象的默认构造形式:list lstT; 如:
list lstInt; //定义一个存放int的list容器。
list lstF...
分类:
其他好文 时间:
2015-07-08 16:32:31
阅读次数:
135
不同于采用线性表顺序存储结构的vector和deque容器,list双向链表中任一位置的元素差值、插入和删除,都具有高效的常数阶算法时间复杂度O(1)。
头文件
#include
创建list对象
1)list();//创建一个没有任何元素的list对象。
listl 2)list(size_type n);//创建一个具有n个元素的list对象,每个元素采用它的类型下的默认值。
li...
分类:
编程语言 时间:
2015-07-03 17:32:46
阅读次数:
172
链表是一种常用的数据结构,有单链表, 双向链表及其循环链表之分.
插入操作是链表的基本操作之一.但大部分人在初学时,多少会感到有些迷惑.
下面时本人的一些小经验.
1 后向插入和前向插入
假设当前节点为P.
后向插入是指在p节点后插入新节点.
前向插入是指在p节点后插入新节点.
对于单链表而言,只有后向插入.
2 基本规律
1) 先...
分类:
其他好文 时间:
2015-07-03 14:08:55
阅读次数:
130
////二叉查找树,为了实现方便,给每个节点添加了一个指向父节点的指针#include#include#include#includeusing namespace std;templateclass BinarySearchTree{ private: struct Node { T da...
分类:
其他好文 时间:
2015-07-02 17:02:55
阅读次数:
107
1 #include 2 #include 3 using namespace std; 4 typedef struct node 5 { 6 int date ; 7 node *pri; 8 node *next; 9 }*linklist,listnode;10...
分类:
其他好文 时间:
2015-07-02 13:57:40
阅读次数:
107