zoukankan      html  css  js  c++  java
  • java 插入排序

    概念:

      通常人们整理桥牌的方法是一张一张的来,将每一张牌插入到其他已经有序的牌中的适当位置。在计算机的实现中,为了要给插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。与选择排序一样,当前索引左边的所有元素都是有序的,但他们的最终位置还不确定,为了给更小的元素腾出空间,它们可能会被移动。但是当索引达到数组的右端时,数组排序就完成了。和选择排序不同的是,插入排序所需的时间取决于输入中元素的初始顺序。

    package com.test;
    
    import java.util.Arrays;
    
    public class InsertSort {
        
        public static void main(String[] args) {
            int test[] = {49,38,65,97,76,13,27,49};
            sort(test);
            System.out.println(Arrays.toString(test));
        }
        
        public static void sort(int[] a) {
            int j, sort;
            for (int i = 1; i < a.length; i ++) { // 从数组的第二个元素开始循环将数组中的元素插入
                
                sort = a[i];    // 设置数组中的第二个元素为第一次循环要插入的元素
                j = i - 1;
                while (j >= 0 && sort < a[j]) {
                    a[j + 1] = a[j];    // 如果要插入的元素小于第j个元素,就将第j个元素向后移动
                    j --;
                }
                a[j + 1] = sort; // 直到要插入的元素不小于第j个元素,将sort插入到数组中
            }
        }
    }
  • 相关阅读:
    hadoop集群配置和测试
    ubuntu 12.04安装jdk
    springboot集成mybatis
    redis连接数据库
    生产随机数
    关于字符串统计次数
    闲的无聊写了一个房租的后台
    简单的死锁
    java集合类总结(转)
    mybatis框架的搭建
  • 原文地址:https://www.cnblogs.com/gouge/p/9144299.html
Copyright © 2011-2022 走看看