guoliang1992

希望你学的比我好

选择排序

package 第十章_内部排序;


public class 选择排序 {


public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = {49,38,65,97,76,13,27,49};
SelectSort(a);
for(int i:a)
System.out.print(i+"\t");
}
/**
* date: 2015/7/2 11:03 
* 简单选择排序:
* 在冒泡排序,插入排序都是以数据为基础,为数据找到合适的位置,而选择排序则是基于位置找数据
* 对于一个具有n个元素的待排序列,至少需要n-1次比较的次数比较多是不稳定排序
*/


public static void SelectSort(int arr[])
{
for(int i=0;i<arr.length;i++)
{
int j = SelectMinKey(arr,i);
if(j != i)
{
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}

}
public static int SelectMinKey(int arr[],int i){
int min = i;
for(int j= i;j<arr.length;j++)
{
if(arr[min] > arr[j])
min = j;

}
return min;
}
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013730093/article/details/46812195
上一篇冒泡排序,快速排序
下一篇折半排序,希尔排序
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭