数据结构
Raintooo
这个作者很懒,什么都没留下…
展开
-
几种排序分享--快速排序
快速排序 (这里参考自 狄泰 数据结构课程) 基本思想 任取一个元素作为基准, 将数组分为两部分, 一边序列是小于或等于 该基准 一边序列是大于该基准 基准元素排再该序列中间 将两边序列又重复以上动作知道所有元素排好序 (递归思想) 看下图 直接上代码 template <typename T> void Sort::Quick(T array[], int len, ...原创 2019-11-17 14:04:05 · 172 阅读 · 1 评论 -
几种排序分享--归并排序
归并排序 (这里参考自 狄泰 数据结构课程) 基本思想 将两个或两个以上的有序序列合并成一个有序序列 意思就是 V[ 0 ] , V[ 1 ] , V[ 02] ,…V[ m ] 和 V[ m ] , V[ m+1 ] , V[ m+2] ,…V[ n-1 ] 合并 为 V[ 0 ] , V[ 1 ] , V[ 02]…V[ n-1 ] 看下图 举例: 直接上代码: template...原创 2019-11-17 13:51:09 · 119 阅读 · 0 评论 -
几种排序分享--插入排序
插入排序 (这里参考自 狄泰 数据结构课程) 基本思想 -当插入第 i (i >= 1) 个数据元素时, 前面 i-1 个数据元素已经排好序, 这时用 V[ i ] 的关键字与 前 i-1 个数据进行比较 找到位置后将位置上的对象往后移动. 看下图: 直接上代码: template <typename T> void Sort::Insert(T array[]...原创 2019-11-17 11:14:16 · 112 阅读 · 0 评论 -
几种排序分享--选择排序
选择排序 (这里参考自 狄泰 数据结构课程) 这里讲一下选择排序: 基本思想; 每次(比如从第 i 次, i = 0, 1, 2, …, n-2) 从后面 n-1 个待排的数中取 关键字 (关键字就是指比较的时候需要用来比较的的元素) 最小或最大的元素作为有序序列的第 i 个 看个图: 直接上代码: 这里代码分两部分: 一个是交换元素函数, 一个是真正的排序函数 在后续的排序代码的分...原创 2019-11-17 10:56:07 · 230 阅读 · 0 评论