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;
        }
    }
  • 相关阅读:
    【转载】C++汇编器、连接器
    【转载】vi的使用命令
    JDK,SDK,JRE概念
    iOS 使用xmpp做聊天客户端
    cocopods安装
    用XMPP实现完整Android聊天项目
    xmpp发送文件
    ember.js学习笔记
    html5 drag and drop
    jquery 数组深拷贝
  • 原文地址:https://www.cnblogs.com/tcxpz/p/10588479.html
Copyright © 2011-2022 走看看