插入排序(数据是局部有序的)
在数据中选择一个作为标识,如果左侧的比标识数据大,那么将标识的位置与标识左侧数据进行调换,否则保持不变。
public int[] initData(){
int[] data = {2,3,4,8,9,7,5,6,10,1};
return data;
}
public static void order(int[] data){
int in,out,temp;
for(out = 1 ; out<data.length;out ++){
temp = data[out];
in = out;
while(in > 0 && data[in - 1] >= temp){
data[in] = data[in - 1];
-- in;
}
data[in] = temp;
}
for(int j : data){
System.out.print(j);
}
}
public static void main(String[] args) {
order(new Insert().initData());
}