插入排序

package com.zc.study;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * @author zc
 * 插入排序
 */
public class InsertSortDemo {
    public static void main(String[] args) {
        int[] arr = {10,200,8,100,30,66,87,2,43,1};
        insertSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    public static void insertSort(int[] arr){
        for (int i = 1; i < arr.length; i++) {
            //需要插入的元素
            int value = arr[i];
            //插入元素的前一个元素的下标
            int index = i - 1;

            //如果插入元素的值小于它前一个元素,那么就将前一个元素放在当前元素的位置上
            while(index >= 0 && value < arr[index]){
                //前一个元素放在当前元素的位置上
                arr[index+1] = arr[index];
                //下标-1
                index--;
            }

            //将插入元素放置在前一个元素的位置
            arr[index+1] = value;
        }
    }
}

发布了30 篇原创文章 · 获赞 0 · 访问量 814
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览