排序算法之三选择排序
来源:互联网 发布:大圣美人进阶数据 编辑:程序博客网 时间:2024/05/29 02:35
1:简单选择排序
#include <iostream>using namespace std;//简单选择排序算法void SelectSort(int r[],int n){int i,j,temp;for (i=0;i<n;i++){int index=i;for (j=i+1;j<n;j++){if (r[j]<r[index])index=j;}if(index!=i){temp=r[i];r[i]=r[index];r[index]=temp;}}}int main (){int r[]={9,8,7,6,4,5,3,1,2,0};SelectSort(r,10);for (int i=0;i<10;i++)cout<<r[i]<<" ";cout<<endl;return 0;}
这是一种不稳定算法。
2:堆排序
#include <iostream>using namespace std;//堆排序算法//1 筛选法调整堆的算法void Sift(int r[],int k ,int m){int i=k,j=2*i+1;int temp;while (j<=m){if(j<m&&r[j]<r[j+1]) j++;if (r[i]>r[j]) break;else{temp=r[i];r[i]=r[j];r[j]=temp;i=j;j=2*i+1;}}}//2 堆排序算法void HeapSort(int r[],int n){int i,temp;for (i=n/2-1;i>=0;i--)Sift(r,i,n-1);for (i=n-1;i>0;i--){temp=r[i];r[i]=r[0];r[0]=temp;Sift(r,0,i-1);}}int main (){int r[]={9,8,7,6,4,5,3,1,2,0};HeapSort(r,10);for (int i=0;i<10;i++)cout<<r[i]<<" ";cout<<endl;return 0;}这是一种不稳定算法。
- 排序算法之三选择排序
- java排序算法之三选择排序
- 排序算法之三----选择排序
- 排序算法之三--直接选择排序
- 内部排序算法之三【选择排序】
- 排序三之选择排序
- 用JAVA实现排序算法之三:直接选择排序
- 排序算法之——直接选择排序(三)
- 排序算法之选择排序
- 排序算法之选择排序
- 排序算法之选择排序
- 排序算法之选择排序
- 【排序算法】之选择排序
- 排序算法之选择排序
- 排序算法之选择排序
- 排序算法之选择排序
- 排序算法之选择排序
- 排序算法之选择排序
- android 问题汇总系列之八
- 大二学生的心路历程
- kvm
- hdu 3062 Party 2-SAT入门
- HDU 1863 畅通工程
- 排序算法之三选择排序
- poj 2406
- android preferenceActivity的用法
- hdu 1164 Eddy's research I
- 编译华天正源码的时候终端会在没有编译完的情况下直接退出的解决方法
- uva 10827 - Maximum sum on a torus(最大子矩阵升级版)
- DetailsView分页显示数据
- 序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用
- 我的革命史,三年来的总结(一)