
排序算法
文章平均质量分 57
深夜的雨声
这个作者很懒,什么都没留下…
展开
-
C++实现选择排序算法
选择排序算法的基本思想:每一轮找到最小(升序)的元素放在当前序列的最前面。特点:先找到最小元素,记录下标,最后交换。时间复杂度:O(n^2)。以下为实现代码:#include <iostream>using namespace std;void sort(int *arr,int length) //传入数组首地址和数组长度{ int index;...原创 2019-04-22 20:00:31 · 8046 阅读 · 0 评论 -
C++实现插入排序算法
插入排序算法的原理:从前往后依次把元素插入到相应的位置。比插入元素大的向后移一个单位,直到找到比其小或者相等的元素才停止循环,并把元素插入到当前位置。时间复杂度:O(n^2)。以下为实现代码:#include <iostream>using namespace std;void sort(int *arr,int length) //传入数组首地址和数组长度{...原创 2019-04-22 22:41:34 · 1397 阅读 · 0 评论 -
归并排序(MERGE-SORT)实现
归并排序(MERGE-SORT): 利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案“修补”在一起,即分而治之)。 归并排序是稳定排序算法。平均时间复杂度为O(nlogn),因为每次合并的平均时间复杂度为O(n),总的深度...原创 2019-07-14 17:26:33 · 420 阅读 · 0 评论