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

    1 算法步骤 

      1)将待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。

      2)从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)

    2 动画演示

      

     3 参考代码

    package com.tcxpz.insert;
    /**
     * 直接插入排序
     * @author jgp QQ:1072218420
     *
     */
    public class InsertSort {
        public static void main(String[] args) {
            int[] arr = new int[]{5,3,4,7,2};
            System.out.print("排序前:");
            for(int num:arr)
                System.out.print(num+" ");
            System.out.println();
            //进行排序
            int[] bubble_arr = sort(arr);
            System.out.print("排序后:");
            for(int num:bubble_arr)
                System.out.print(num+" ");
        }
        private static int[] sort(int[] arr) {
            for(int i=1;i<arr.length;i++){
                // 记录要插入的数据
                int temp=arr[i];
                // 从已经排序的序列最右边的开始比较,找到比其小的数
                int j=i;
                while(j>0&&temp<arr[j-1]){
                    arr[j]=arr[j-1];
                    j--;
                }
                // 存在比其小的数,插入
                if(j!=i){
                    arr[j]=temp;
                }
            }
            return arr;
        }
    }
  • 相关阅读:
    Rabbit简单测试实例
    RabbitMQ-2 工作队列
    RabbitMQ-1 Helloword
    utmp
    导入wordpress数据库到mysql报错
    Tengine 反向代理状态检测
    阿里云服务器挖矿wipefs处理
    JbossMiner 挖矿蠕虫分析 (转载)
    centos6+nginx+php+mysql+memcached+wordpress
    php安装ZendGuardLoader扩展问题
  • 原文地址:https://www.cnblogs.com/tcxpz/p/10588479.html
Copyright © 2011-2022 走看看