摘要: 思想(见图): 等同于插入排序,不同的是,插入排序每次只间隔一个元素,而希尔排序间隔 gap个元素,最后一趟又是一边真正的插入排序(间隔一个): 代码: #pragma oncevoid ShellSort(int *a, int size){ assert(a); int gap = si... 阅读全文
posted @ 2016-04-10 17:52 云端止水 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 思想:(见图) 方法一: 直接上代码: void InsertSort(int *a,int size){ assert(a); int i, j, tmp; for (i = 0; i = 0; --j) //在有序序列中插入后来数 { if (a[j] > tmp) { ... 阅读全文
posted @ 2016-04-10 17:22 云端止水 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 上一篇是堆排序的简单过程,自认为下面这种更为合适: 思想: 1.建立大堆; 2.取堆顶元素和堆尾元素交换;(此时,大堆已破坏,需要重新往下调整,恢复大堆) 3.恢复大堆前,需要减掉已经在正确位置的堆尾元素; 代码如下: #pragma once////建立大堆,void AdjustUp(int... 阅读全文
posted @ 2016-04-10 16:35 云端止水 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 入编程这一行之初,便常听人说,要多动手写代码。可要怎么写列?写些什么列?做些什么列? c语言程序设计100例,太过基础,入门之后,挑战性不够。直接做项目,初学者则需花费大量的时间与精力、且得有一定能力之后。 于是,这份精选微软等公司数据结构+算法面试100题的资料横空出世了: [... 阅读全文
posted @ 2016-04-10 11:28 云端止水 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 不但是我的一开始 ,而且是好多人的一开始,一开始都觉得博客嘛,当然是自己总结的好,这也没什么错,好,大家都开始写自己感觉经典的博客,感觉转载博客心理有愧,就这样慢慢的,好多真大神的技术博客就沦为了大家的技术字典,哪里不会了,就查一下,从来不会深究,但是,你如果在深究一下,你会发现,哇,原来是这样... 阅读全文
posted @ 2016-04-10 11:26 云端止水 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 关于decltype操作符的说明: 1、在C++中,decltype作为操作符,用于查询表达式的数据类型。decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些类型由模板参数决定,而难以(甚至不可能)表示之的问题。泛型编程在整个1990年代越发流行,对实现... 阅读全文
posted @ 2016-04-10 11:04 云端止水 阅读(252) 评论(0) 推荐(0) 编辑