美文网首页
排序-01-插入排序

排序-01-插入排序

作者: yayooo | 来源:发表于2021-08-27 17:21 被阅读0次
    插入排序
    image.png

    代码:

    public class InsertionSort {
        public static void main(String[] args) {
            int arr[] = {49,38,65,97,76,13,27,49};
    
            int i;
            int j;
            int temp;
    
            for (i = 1; i < arr.length; i++) {
                if (arr[i] < arr[i-1]) {
                    temp = arr[i];
    
                    for (j = i-1; j >= 0 && arr[j] > temp; j--) { //如果右边的数据大于左边的数据,则左边的数据右移
                            arr[j+1] = arr[j];  //右移一位
                        //此时j还会再判断一次,j--,直到左边的小于右边的数据
                    }
                    System.out.println("temp: "+temp + "   i: " + i+ "   j: " + j);
                    arr[j+1] = temp; //复制到插入位置
                }
            }
    
            
            for (int t : arr) {
                System.out.println(t);
            }
    
        }
    }
    
    

    相关文章

      网友评论

          本文标题:排序-01-插入排序

          本文链接:https://www.haomeiwen.com/subject/irwmiltx.html