![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
小果橙橙
这个作者很懒,什么都没留下…
展开
-
快速排序
#include /** 快速排序 **/ void swap( int &a, int &b ); void qSort( int array[], int left, int right ); int main() { int array[] = {10,5,20,25}; qSort(array,0,3); for( int i=0; i std:原创 2016-04-28 19:36:35 · 201 阅读 · 0 评论 -
归并排序
#include /** 归并排序 -- 将两个有序表直接归并为一个有序表的算法称为归并排序,设两个有序表存放在同一 数组相邻位置:R[left..mid]和R[mid+1..right]。从两个表第一元素开始,每次从两个表取出一 个元素进行比较,将较小者放入临时数组R1中,直到其中一个表的元素全部放入R1为止,将另一个 表余下的元素赋值到R1,这样R1是一个有序表,再将其复制回R中。 **/原创 2016-05-04 10:01:39 · 139 阅读 · 0 评论 -
直接选择排序
#include /** 直接选择排序 -- 将数组分为有序区和无序区,每一趟在无序区取出一个最小的数放入有序区,使有序 区增加一个元素,经过n-1趟排序之后,整个数组递增有序。 **/ int main() { int arr[5] = {5,4,3,2,1}; void SelectSort( int array[], int n ); SelectSort(arr,5); fo原创 2016-05-04 22:55:06 · 166 阅读 · 0 评论 -
直接插入排序
#include /** 直接插入排序 -- 数组arr被分为有序区和无序区,刚开始时,有序区只有arr[0]一个元素。 每趟排序将无序区第一个元素插入到有序区适当位置中。 **/ int main() { int arr[5] = {5,4,3,2,1}; void InsertSort( int array[], int n ); InsertSort(arr,5); for(原创 2016-05-06 10:44:37 · 196 阅读 · 0 评论 -
折半插入排序
#include /** 折半插入 -- 将数组分为有序区和无序区,将无序区第一个元素采用折半查找方法在有序区找到插入 位置,再通过移动元素进行插入。 **/ int main() { int arr[5] = {5,4,3,2,1}; void InsertSort2( int array[], int n ); InsertSort2(arr,5); for( int i = 0原创 2016-05-06 11:13:24 · 240 阅读 · 0 评论 -
希尔排序
#include /** 希尔排序 -- 取n/2作为第一个增量,把数组全部元素分为n/2个组,相距n/2的倍数的元素 分为一组,在各组内进行直接插入排序;取n/2/2作为第二个增量,重复上述分组过程。 **/ int main() { int arr[10] = {10,9,8,7,6,5,4,3,2,1}; void ShellSort( int array[], int n );原创 2016-05-06 14:01:25 · 244 阅读 · 0 评论