排序算法
伯仲叔季
这个作者很懒,什么都没留下…
展开
-
选择排序
这次是选择排序算法,一列数按从小到大的顺序排列,则可以按如下步骤进行:从数组第二个元素起,将每一个元素与第一个元素进行比较,若比第一个元素小,则将其与第一个元素交换,如此执行完毕后,第一个位置的元素便是整个数组中的最小元素,然后从第二个元素起,执行相同的操作。代码如下 #include "stdafx.h" #include "stdio.h" void insert_sort (int a[]原创 2016-03-22 08:17:46 · 230 阅读 · 0 评论 -
插入排序
最近在看算法导论这本书,打算把书上介绍到的算法在博客上默写出来,以求加深记忆与理解,第一次用博客这种东西 第一个介绍的算法是插入排序。插入排序的思想和我们打牌时的过程差不多,握在手上的牌均为已经排好顺序的牌,当拿到下一张牌后,只需将这张牌与手上的牌逐一进行比较,即可找到这张牌应该所在的位置。算法的实现过程很简单,只需要两个嵌套循环即可。元素最多交换次数sum=1+2+3+.......+(n-1原创 2016-03-22 08:19:47 · 250 阅读 · 0 评论 -
归并排序
到合并排序了。合并排序的思想在于化整为零,当数组中只有一个元素时,显然,这个数组已经时排好序的了。然后在已排好序的数组之间进行合并,构成新的排好序的数组。重复这一步骤,最终便可得到排序完成的数组。 #include "stdio.h" #include "stdafx.h" #include "stdlib.h" void merge(int a[], int p, int q, int r)原创 2016-03-23 16:26:06 · 177 阅读 · 0 评论