几种常用的排序方法
来源:互联网 发布:周东华知乎 编辑:程序博客网 时间:2024/06/06 12:57
一、冒泡排序
void BubbleSort3(int a[],int n){int i,j;for (i=0;i<n-1;++i)//如果是4个数,比较3次就可以 n=3.比较两次0 1{for (j=0;j<n-i-1;j++){if (a[j]>a[j+1]){swap(a[j],a[j+1]);}}}}void swap(int& a,int& b){int temp;temp=a;a=b;b=temp;}
二、插入排序
void InsertSort(int a[],int n){int i,j,k;for (i=1;i<n;++i){for(j=i-1;j>=0;--j)//使j指向插入元素的前一位置if (a[j]<a[i])break;if (j!=i-1)//如果break,也跳出次循环{int temp=a[i];for (k=i-1;k>j;--k){a[k+1]=a[k];}a[k+1]=temp;}}}
三、希尔排序:很像先将整个待排元素序列分割成若干个子序列(由相隔某个
“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,
待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插
入排序。
void ShellSortTest(int a[],int n){int i,j,gap,k;for (gap=n/3;gap>0;gap/=2){for (i=gap;i<n;i+=gap){for (j=i-gap;j>=0;--j){if (a[i]>a[j])break;}if (j!=i-gap){int temp=a[i];for(k=i-gap;k>j;k-=gap){a[k+gap]=a[k];}a[k+gap]=temp;}}}}四、选择排序
void SelectSortTest(int a[],int n){int i,j,minIndex;for (i=0;i<n;++i){minIndex=i;for (j=i+1;j<n;++j){if (a[minIndex]>a[j])minIndex=j;}swap(a[i],a[minIndex]);}}
0 0
- 几种常用的排序方法。
- 几种常用的排序方法
- 几种常用的排序方法
- 几种常用的排序方法
- 常用的几种简单的内部排序方法
- java的几种常用排序方法集合
- java 运用数组常用的几种排序方法
- 几种常用排序方法的C#实现
- 二级c语言之常用的几种排序方法
- 几种常用排序方法的简单实现
- 常用的几种排序
- 几种常用排序方法汇总
- 几种排序的方法
- 排序的几种方法
- 排序的几种方法
- 排序的几种方法
- 排序的几种方法
- 常用几种种排序方法!
- 创建及调用QT的DLL
- DT10如何帮助用户有效达成灰盒测试目标
- 韩国拟在独岛修建机场 可有效控制争议海域
- 排序(java)(未完结)
- 执行job时出现错误ORA-08102
- 几种常用的排序方法
- 二层、三层、四层交换机的区别
- sublime text 安装插件的方法
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- linux route命令使用
- 数据挖掘中的常用聚类算法-提纲
- 被加盟片骗局坑了的请看
- linux study
- Oracle DB 自动管理共享内存