您的位置:首页 > 编程语言 > Java开发

选择排序及其JAVA实现

2013-10-05 10:00 330 查看
选择排序是一种借助“选择”进行排序的方法,其主要思想是:每趟排序在当前待排序序列中选出关键码最小的记录,添加到有序序列中,选择排序的特点是记录移动的次数较少!

简单选择排序:简单选择排序是选择排序中最简单的排序方法,其基本思想是:第i趟排序在待排序序列r[i]----r
中选取关键码最小的记录,并和第i个记录交换作为有序序列的第i个记录。

具体实现过程是:

(1).将整个记录序列划分为有序区和无序区,初始时有序区为空,无序区包含待排序的所有记录。

(2)在无序区中选取关键码最小的记录,将它与无序区中的第一个记录交换,使得有序区扩展了一个记录,同时无序区减少了一个记录

(3)不断重复(2),知道无序区中只剩下一个记录为止,此时所有的记录已经按关键码从小到大的顺序访问。

package sort;

import java.util.Arrays;

/**
* 简单选择排序
* @author zhouhai
*
*/
public class SimpleSelectionSort {

public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]=new int[]{2,3,4,1,9,5,8,7,9};//定义一个测试数组
sort(a);
System.out.println(Arrays.toString(a));
}
public static void sort(int a[]){
int len=a.length;
for(int i=0;i<len;i++){
int index=i;
for(int j=i+1;j<len;j++){
if(a[index]>a[j]) index=j;
}
//n为a[i+1]-a[len]中关键码最小的值
if(i!=index){
a[i]=a[index]+a[i];
a[index]=a[i]-a[index];
a[i]=a[i]-a[index];
}
}
}
}


输出结果:[1, 2, 3, 4, 5, 7, 8, 9, 9]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  选择排序 java实现