/**
* 选择排序
*
*/
public class ArraySel {
private long[] a;
private int nElems;
public ArraySel(int max){
a = new long[max];
nElems = 0;
}
public void insert(long value){
a[nElems] = value;
nElems++;
}
public void display(){
for (int i = 0; i < nElems; i++) {
System.out.print(a[i]+" ");
}
System.out.println("");
}
public void selectionSort(){
int out,in, min;
for (out = 0; out < nElems-1; out++) {
min = out;
for (in = out+1; in < nElems; in++) {
if(a[in]<a[min]){
min = in;
}
}
swap(out,min);
}
}
public void swap(int one,int two){
long temp = a[one];
a[one] = a[two];
a[two] = temp;
}
}
/**
* 选择排序实例
*
*/
public class SelectSortApp {
public static void main(String[] args) {
int maxSize = 100;
ArraySel arr;
arr = new ArraySel(maxSize);
arr.insert(77);
arr.insert(88);
arr.insert(12);
arr.insert(53);
arr.insert(23);
arr.insert(17);
arr.insert(99);
arr.insert(58);
arr.insert(1);
arr.insert(49);
System.out.println("排序前:");
arr.display();
arr.selectionSort();
System.out.println("排序后:");
arr.display();
}
}