插入排序就像起扑克牌一样,当起到第二张比第一张比较如果比第一张小就放在第一张的位置,当起到第三张牌的时候与前两张进行比较插入适当位置,依次类推。。。
用Java实现:
例一:
package test;
public class insetSort{
static int[] array={1,0,0,3,9,8,6};
//插入排序
static int[] sort(int[] arr){
for(int i=1;i<arr.length;i++){
int j=i;
int target =arr[j];
while(j>0 && arr[j]<arr[j-1]){
arr[j]=arr[j-1];
arr[j-1]=target;
j--;
}
}
return arr;
}
// 主函数打印排好的数组
public static void main(String[] args){
for(int a:sort(array)){
System.out.println(String.valueOf(a));
}
}
}
例二:
package test;
public class insetSort{
static int[] array={1,0,0,3,9,8,6};
static int[] sort(int[] arr){
for(int i=1;i<arr.length;i++){
for(int m=i-1;m>=0;m--){
if(arr[m]>arr[m+1]){
int target = arr[m+1];
arr[m+1]=arr[m];
arr[m]=target;
}
}
}
return arr;
}
public static void main(String[] args){
for(int a:sort(array)){
System.out.println(String.valueOf(a));
}
}
}
打印结果: