插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-01-28 12:30:14
阅读次数:
191
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 为了练习,我这次设置了哨兵结点,哨兵结点,我个人理解就是我们一般意义上的头结点(是链表的一个附加结点,数据域不存储任何信.....
分类:
其他好文 时间:
2015-01-24 21:14:44
阅读次数:
164
常见经典排序算法1.希尔排序2.二分插入法3.直接插入法4.带哨兵的直接排序法5.冒泡排序6.选择排序7.快速排序8.堆排序排序算法对比一.希尔(Shell)排序法(又称宿小增量排序,是1959年由D.L.Shell提出来的)/* Shell 排序法 */#include void sort(int...
分类:
编程语言 时间:
2015-01-24 12:53:51
阅读次数:
219
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-01-18 18:24:42
阅读次数:
232
本函数返回一个迭代子对象。当第二个参数不出现时,参数object应是一个容器,支持迭代协议,也就是有定义有__iter__()函数,或者支持序列访问协议,也就是定义有__getitem__()函数的对象,否则会返回TypeError异常。当第二个参数哨兵出现时,参数object应是一个可调用对象,定义了__next__()函数,当枚举到的值等于哨兵时,就会抛出异常StopIteration。例子:...
分类:
编程语言 时间:
2015-01-13 21:34:40
阅读次数:
186
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-01-07 14:47:26
阅读次数:
160
上一节中介绍了master-slave模式,在最小配置:master、slave各一个节点的情况下,不管是master还是slave down掉一个,“完整的”读/写功能都将受影响,这在生产环境中显然不能接受。幸好redis提供了sentinel(哨兵)机制,通过sentinel模式启动redis后...
分类:
其他好文 时间:
2014-11-21 10:21:49
阅读次数:
277
1. 顺序表查找(Sequential Search)1> 算法思想:顺序表查找应该是查找算法中最简单的了。顺序表中所有的记录都是无序的,因此在查找时,没有对查找对象范围的可能线索,唯一的方法就是沿着一个方向一直比较,直到和查找对象相等。完成查找的过程。这里一个优化点是设置一个哨兵,放在顺序表的开始...
分类:
编程语言 时间:
2014-11-13 00:23:22
阅读次数:
397
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2014-11-12 16:26:31
阅读次数:
253