/**
*插入排序:每次外循环out之后可以保证out个元素找到自己的位置
* @author iamwiam
*
*/
public class InsertSort {
private int[] a;
private int nElem;
public InsertSort(int max){
a = new int[max];
nElem = 0;
}
public void insert(int value){
a[nElem] = value;
nElem++;
}
public void display(){
for(int j=0;j<nElem;j++)
System.out.print(a[j]+" ");
System.out.println("");
}
public void insertionSort(){
int in,out;
for(out =1;out<nElem;out++){
int temp = a[out];
in = out;
while(in>0&&a[in-1]>=temp){
a[in] = a[in-1];
--in;
}
a[in] = temp;
}
}
public static void main(String[] args) {
int maxSize =100;
InsertSort ins = new InsertSort(maxSize);
ins.insert(77);
ins.insert(99);
ins.insert(44);
ins.insert(55);
ins.insert(22);
ins.insert(88);
ins.insert(11);
ins.insert(00);
ins.insert(66);
ins.insert(33);
ins.display();
ins.insertionSort();
ins.display();
}
}