package chapter3;
public class SelectSort {
/**
* @选择排序
* 比较次数是n*n,交换次数是n
*/
public static void main(String[] args) {
int maxSize = 100;
ArraySel arr = new ArraySel(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display();
arr.SelectSor();
arr.display();
}
}
class ArraySel{
private int[] a;
private int nElems;
public ArraySel(int nElems){
a = new int[nElems];
nElems = 0;
}
public void insert(int 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 SelectSor(){
for(int out = 0;out<nElems-1;out++){
int min =out;
for(int in =out+1;in <nElems;in++){
if(a[in]<a[min])
min = in;
}
swap(out,min);
}
}
private void swap(int out, int min) {
int temp = a[out];
a[out] = a[min];
a[min] = temp;
}
}