构造函数:默认构造函数:
构造一个空列表:template void List::init() { //列表初始化,在创建列表对象时统一调用
header = new ListNode; //创建头哨兵节点
trailer = new ListNode; //创建尾哨兵节点
header->succ = trailer; header-...
分类:
其他好文 时间:
2015-05-29 10:04:56
阅读次数:
99
1.插入排序—直接插入排序(Straight Insertion Sort)基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界...
分类:
编程语言 时间:
2015-05-29 06:06:08
阅读次数:
209
各种插入操作:template //将e紧靠当前节点之前插入于当前节点所属列表(设有哨兵头节点header)
ListNodePosi(T) ListNode::insertAsPred(T const & e) {
ListNodePosi(T) x = new ListNode(e, pred, this); //创建新节点
pred->succ =...
分类:
其他好文 时间:
2015-05-28 23:14:18
阅读次数:
156
红黑树的平衡红黑树首先是一棵二叉查找树,它每个结点都被标上了颜色(红色或黑色),红黑树满足以下5个性质:1、每个结点的颜色只能是红色或黑色。2、根结点是黑色的。3、每个叶子结点都带有两个空的黑色结点(被称为黑哨兵),如果一个结点n的只有一个左孩子,那么n的右孩子是一个黑哨兵;如果结点n只有一个右孩子...
分类:
其他好文 时间:
2015-05-21 06:36:45
阅读次数:
141
主要是哨兵的作用,把arr[0]位置作为哨兵,哨兵有两个作用:1.是保存待插入的元素,相当于temp的作用,因为每次比较,都会移位,后面的元素的值都会被前面的覆盖2.用于监视,是否数组越界,j=0时,a[j]=a[0],此时会跳出for循环。用于监视数组越界,若不使用哨兵a[0],则每次循环都要判断...
分类:
编程语言 时间:
2015-05-20 13:04:16
阅读次数:
131
红黑树是平衡搜索树的一种,可以保证在最坏情况下基本动态集合操作的时间复杂度为Lgn。红黑树在二叉搜索树的基础上结点增加了一个属性color,值为black或者red,即一个节点的属性有:left,right,p,color,key。同时,红黑树使用一个哨兵T_NIL代替以一般搜索树中的NULL,T_NIL也是一个普通的结点,也具有以上5个属性,它的color属性为black,其他属性为任意值。即叶子结点的左右孩子全部指向哨兵,以及根节点的父指针也指向哨兵。...
分类:
编程语言 时间:
2015-05-17 10:50:12
阅读次数:
150
Reverse a singly linked list.
click to show more hints.
Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?
思路:
迭代的方式,可以使用一个哨兵节点,方便反转;...
分类:
其他好文 时间:
2015-05-05 19:34:55
阅读次数:
126
// InsertSort.cpp : 定义控制台应用程序的入口点。
//插值排序
#include "stdafx.h"
#include
static int testArray[] = {0,55,33,22,99,77,66,11,44,88,9};//11个
//数组0号位置 作为 哨兵...
//升序排序
void insertSort(int * array,int num)...
分类:
编程语言 时间:
2015-05-02 15:15:56
阅读次数:
167
常见经典排序算法1.希尔排序n的1.2次幂 不稳定2.二分插入法3.直接插入法O(n*n)稳定4.带哨兵的直接排序法5.冒泡排序O(n*n)稳定6.选择排序O(n*n)不稳定7.快速排序log2(n)*n不稳定8.堆排序log2(n)*n不稳定归并排序:log2(n)*n稳定一.希尔(Shell)排...
分类:
编程语言 时间:
2015-04-25 16:34:17
阅读次数:
178
冒泡排序基本思想:两两比较相邻记录的关键字,如果反序就交换,直到没有反序为止。 1 #define MAXSIZE 10 2 3 typedef struct 4 { 5 int r[MAXSIZE]; //r[0] 用作哨兵或临时变量 6 int length; /...
分类:
编程语言 时间:
2015-04-23 12:46:13
阅读次数:
150