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

用Java实现简单选择排序

2012-10-04 17:16 519 查看
package ch10;

/**
* 简单选择排序
* @author songjie
*
*/
public class SelectSort {
public static <T extends Comparable> boolean selectSort(T[] t){
if(t==null || t.length <= 1) return true;
for(int i = 0; i<t.length-1; i++){
int pos = selectMinKey(t, i);
T temp = t[i];
t[i] = t[pos];
t[pos] = temp;

}
return true;
}

/**
* 返回最小的元素的索引
* @param t
* @param start:开始的索引
* @return
*/
private static <T extends Comparable> int selectMinKey(T[] t, int startPos) throws IllegalArgumentException{
if(t==null || t.length-1-startPos<=0) throw new IllegalArgumentException("参数传递不正确!");
int pos = startPos;
T min = t[pos];
for(int i=pos; i<=t.length-1 ;i++){
if(t[i].compareTo(min) < 0){
min = t[i];
pos = i;
}
}
return pos;
}

public static void main(String[] args) {
Integer[] arr = new Integer[]{1,2,5,7,4,2,3,9,7};
SelectSort.selectSort(arr);
for(int i : arr){
System.out.println(i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java integer null string class
相关文章推荐