插入排序(数据是局部有序的)

在数据中选择一个作为标识,如果左侧的比标识数据大,那么将标识的位置与标识左侧数据进行调换,否则保持不变。
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());
}

原文地址:https://www.cnblogs.com/zhuzhiq/p/5585002.html