
排序算法
gqzsuccess
热爱编程,有志于从事IT行业。加油!!!!!!!!!!!!!!!!!!!!!
展开
-
快速排序
快排简介:快速排序是找出一个元素(理论上可以随便找一个)作为基准,然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成。是一种不稳定的算法./*快速排序*/ #include #include #i原创 2016-06-05 23:13:11 · 247 阅读 · 0 评论 -
希尔排序
该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。 是/*希尔排序*/ #include #includ转载 2016-06-05 22:45:26 · 275 阅读 · 0 评论 -
折半插入排序
/*折半插入排序*/ #include #include #include #define MAX 11 void input(int num[])//产生10个随机数 1......10(MAX-1) { int i; srand((unsigned)time(NULL)); for(i=1; i<MAX; i++)转载 2016-06-05 21:12:42 · 221 阅读 · 0 评论 -
直接插入排序
直接插入排序:每趟将一个待排序的元素作为关键字,按照其关键字的大小插入到已经排好的部分序列的适当位置上,直到插入完成。 /*直接插入排序*/ #include #include #include #include #define MAX 11 void input(int num[])//产生10个随机数 1......10(MAX-1)原创 2016-06-06 12:47:04 · 220 阅读 · 0 评论