排序算法
TOP-SECRET
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++排序算法之插入排序
插入算法:把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。 代码如下(从小到大): #include #include int main() { int n,num[10000]; //定义数组 scanf(原创 2017-05-21 09:06:39 · 683 阅读 · 0 评论 -
C++排序算法之冒泡排序
冒泡排序:顾名思义,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,就像冒泡泡一样。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 代码如下(从大到小): #include int main() { int n; //数的个数 int num[10000]; //排序范围:最多10000个数 scanf("%d",&n);原创 2017-05-20 21:52:50 · 506 阅读 · 0 评论 -
C++排序算法之选择排序
选择排序:把每一个位置(除最后一个位置)的数与后面的数进行比较,满足条件便交换,来一个一个确定位置。 代码如下(从小到大): #include int main() { int n; //数的个数 int num[10000]; //排序范围:最多10000个数 scanf("%d",&n); for(int i=0;i<n;i++) //输入每个数 scanf("%d",&num原创 2017-05-20 20:46:23 · 557 阅读 · 0 评论 -
C++排序算法之桶排序
桶排序的思想是把记录的数放在某个有限范围内(整型)内,然后顺序输出,但耗费空间较大,且一个值不能出现两次。 代码如下(从小到大): #include bool num[10000]={false}; //装数的"桶" 范围:0-9999 int n,k; //数的个数n和临时存储数的k int main() { scanf("%d",&n); for(int i=0;i<n;i+原创 2017-05-20 17:32:58 · 1582 阅读 · 0 评论 -
C++排序算法之归并排序
归并排序:是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。 代码如下(从小到大): #include int n,num[10000],r[10000]; //num是待排序数组,r是临时数组 void mergesort(int s,原创 2017-05-21 13:40:19 · 555 阅读 · 0 评论 -
C++排序算法之快速排序
快速排序:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 代码如下(从小到大): #include int n,num[10000]; void qsort(int left,int right) //快速排序 { int i,j,midd原创 2017-05-21 12:57:58 · 558 阅读 · 0 评论 -
C++排序算法之希尔排序
希尔排序:是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。 代码如下: #include int n,num[10000]; void shell_sort() { int i,j,x,d; d=n/2; while(d) { for (i=d+1;i<=n;i++) { x=n原创 2017-05-21 13:45:36 · 620 阅读 · 0 评论
分享