选择排序法
来源:互联网 发布:华为网盘mac版 编辑:程序博客网 时间:2024/04/30 06:59
选择法排序的原理:依次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最大数(max=i),从这个数的下一个数开始扫描直到最后一个数,并记录下最大数的位置(max),扫描结束后如果max不等于i,说明假设错误,则交换max与i位置上的数。
以整形数组元素为例,有数组A[10](以C语言为例描述),即A[0],A[1],…,A[8],A[9](假设其元素均互不相同)。要求对其元素排序使之递增有序。首先以一个元素为基准,从一个方向开始扫描,比如从左至右扫描,以A[0]为基准。接下来从A[0],…,A[9]中找出最小的元素,将其与A[0]交换。然后将基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序算法。)
int sort(int a[],int n)
{
int i,temp,j,max;
for(i = 0;i<n-1;i++)
{
max = i ;
for(j=i+1;j<n;j++)
{
if(a[j]<a[min])
max = j;
}
if(max != i )/*若max中记录的最大数序号不是i,即假设不成立*/
{
temp=a[i] ;
a[i]=a[min] ;
a[min]=temp ;
}
}
}
- 常用排序-选择法排序
- 常见排序-选择法排序
- 排序算法--选择排序法
- 按选择排序法排序。
- 排序模板 选择法排序
- 排序算法--选择排序法
- 排序之选择排序法
- 选择排序法法
- 排序:选择法
- 选择排序法
- 选择法排序
- 选择排序法
- 选择排序法证明
- 选择排序法
- 选择排序法
- 选择排序法
- 选择排序法
- C++ 选择排序法
- 一个旋转立方体和以立方体为目标的旋转相机
- OpenGL入门学习(三)
- 存储过程使用游标
- OpenGL入门学习(四)
- 最近很不务正业
- 选择排序法
- OpenGL入门学习(五)
- 基于数据挖掘技术入侵检测系统研究
- Spring.NET学习笔记(1)-基本依赖注入
- OpenGL入门学习(六)
- 晚会后记之一
- [推荐] 面试英语技巧
- Spring.NET学习笔记(2)-依赖注入细节
- Spring.NET学习笔记(3)-注册事件注入