package com.jxufe.dormitory;
/**
* 实现选择排序
* @author jack
* @version 创建时间:2016年4月18日 下午3:51:58
*
*/
public class SelecetSort {
private int[] array;//可以替换成Number类型的,只要实现了comparable接口都可以
public static void main(String[] args) {
SelecetSort sort = new SelecetSort( new int[]{1,34,3,56,47});
sort.sort();
sort.display();
}
public SelecetSort(int[] array){
this.array = array;
}
/**
* 实现选择排序的方法,从小到大排序
*/
public void sort(){
for (int i = 0; i < array.length; i++) {
int index = i;//记下最小的下标,存放在index中
int temp = array[i];
//这个for循环是找到最小的数字
for(int j = i+1;j<array.length;j++){
//如果下标i后面的数字比下标为i的数字大时就交换
if(temp >array[j]){
temp = array[j];
index = j;
}
}
//如果index 与 i不再相等时,意味着还有比array[i]更小的数即array[index],进行交换
if(index != i){
temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
}
public void display(){
for(int internal: array){
System.out.print(internal +" ");
}
}
}
09-16
09-16