
排序
rually
这个作者很懒,什么都没留下…
展开
-
经典排序算法的汇总之快速排序
经典排序算法的汇总之快速排序 快速排序 核心思想:,找到一个基准, 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 void quickSort(int a[] ,int l,int r) { if(l<r) { int原创 2013-02-17 19:50:59 · 669 阅读 · 0 评论 -
经典排序算法的汇总之基数排序
经典排序算法的汇总之基数排序 基数排序: 找到数组中重复元素 大小为n的数组,里面的数都属于范围[0, n-1] 使用条件:数组有n个元素 每个数的取值范围:0~n-1 下面的代码是基数排序的应用,找出数列中是不是有重复元素 代码如下: void radixSort(int a[],int n) { int flag=0; while(!flag) {原创 2013-02-17 20:09:18 · 619 阅读 · 0 评论 -
经典排序算法的汇总之归并排序
经典排序算法的汇总之归并排序 归并排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序 void Mymerge(int *a ,int *b ,int na,int nb) { int c[20]= {0}; int ic=0,ia=0, ib=原创 2013-02-17 19:56:35 · 623 阅读 · 0 评论 -
经典排序算法的汇总之希尔(shell)排序
经典排序算法的汇总之希尔(shell)排序 // shell排序 从开始的n/2为gap开始 ,从第一个数开始 每次加一个gap 直到加的gap //加到数组r右边 所以 每次也就是gap个分组 每个分组使用插入排序 void shellsort(int a[],int l,int r) { int n=r-l+1,x; int gap=n/2;原创 2013-02-17 19:59:10 · 555 阅读 · 0 评论 -
经典排序算法的汇总之插入排序
经典排序算法的汇总之插入排序 插入排序:选择排序 从无序区选择最小的//放到有序曲的后面 void selectSort(int a[],int n) // 选择排序 从无序区选择最小的 //放到有序曲end { for(int i=0;i<n;i++) { int x=i; for(int j=i+1;j<n;j++) {原创 2013-02-17 20:02:40 · 504 阅读 · 0 评论 -
经典排序算法的汇总之插入排序
经典排序算法的汇总之插入排序 插入排序 无序区并入有序曲 有序区 从最左边第一个元素开始 void insertsort(int a[],int n) { int x,cnt=0; for(int i=1;i<n;i++) { x=a[i]; int j=i; while(x<a[j-1]) { a[j]=a[j-1原创 2013-02-17 20:04:15 · 521 阅读 · 0 评论