美文网首页
算法基础 | 插入排序

算法基础 | 插入排序

作者: icebreakeros | 来源:发表于2020-10-11 01:53 被阅读0次

    插入排序

    算法描述:
    从第一个元素开始,该元素可以认为已经被排序
    取出下一个元素,在已经排序的元素序列中从后向前扫描
    如果该元素(已排序)大于新元素,将该元素移到下一位置
    重复步骤3,直到找到已排序的元素小于或者等于新元素的位置

    public class InsertSort {
    
        public static void main(String[] args) {
            InsertSort insertSort = new InsertSort();
            Integer[] numbers = new Integer[]{10, 8, 3, 7, 9, 1, 4};
            insertSort.sort(numbers);
            Arrays.asList(numbers).stream().forEach(System.out::println);
        }
    
        public void sort(Integer[] numbers) {
            for (int i = 0; i < numbers.length - 1; i++) {
                int j = i;
                int c = numbers[i + 1];
                while (j >= 0 && c < numbers[j]) {
                    numbers[j + 1] = numbers[j];
                    j--;
                }
                numbers[j + 1] = c;
            }
        }
    }
    

    希尔排序

    相关文章

      网友评论

          本文标题:算法基础 | 插入排序

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