排序算法(二)插入排序---直接插入排序

  循环整个数组。在数组第二项开始,把数组第二项前面的项当做有序的数列,将数组第二项和  第一项比较,如果第二项比第一项小,则将第二项的数字存放在临时变量中,赋给,,,,

 1 public class InsertSort {
 2     public static void main(String[] args) {
 3         int[] arr=new int[]{5,3,2,8,10,1,12,0};
 4         System.out.println(Arrays.toString(arr));
 5         insertSort(arr);
 6         System.out.println(Arrays.toString(arr));
 7     }
 8     
 9     public static void insertSort(int[] arr){
10         //遍历所有的数字
11         for(int i=1;i<arr.length;i++){
12             //如果当前数字比前一个数字小
13             if(arr[i]<arr[i-1]){
14                 //把当前遍历数字存起来
15                 int temp=arr[i];
16                 int j;
17                 //遍历当前数字前面所有的数字
18                 for(j=i-1;j>=0&&temp<arr[j];j--){
19                     //把前一个数字赋给后一个数字
20                     arr[j+1]=arr[j];
21                 }
22                 //把临时变量赋给不满足条件的后一个元素
23                 arr[j+1]=temp;
24             }
25         }    
26     }
27 }
好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
原文地址:https://www.cnblogs.com/axu521/p/9977268.html