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

Java 实现选择排序代码

2010-05-16 17:23 549 查看
选择排序就是从数据里面找到最小的放到最左边,每次比较所有数据后交换一次.

我从之前的冒泡排序类继承下来的.

package array;
/**
*
* @author leon.lee
*/
public class SelectionSort extends BubbleSort{
public SelectionSort(int arrayLength){
super(arrayLength);
}
@Override
public void sort() {

for(int i=0;i<arrayData.length-1;i++){
int minValuePostion = i;
for(int j=i+1;j<arrayData.length;j++){
if(arrayData[j]<arrayData[minValuePostion]){
minValuePostion = j;
}
}
swap(i,minValuePostion);
}
}
public static void main(String[] args) {
SelectionSort bs ;
try{
bs = new SelectionSort(10);
}catch(ExceptionInInitializerError e){
System.out.println(e.getMessage());
return;
}
bs.printArrayList();
bs.sort();
bs.printArrayList();
}
}


选择排序使用的时间依然是O(N2),但是交换次数之用了N次,当交换操作时间花费比比较花费时间多的时候选择排序实际上是比较快的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: