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

    原理

    插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 
    插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序。 
    插入排序循环 数据的长度-1 轮。

    例子

    参考代码

    /**
     * @Description:简单插入排序算法实现
     */
    public class InsertSort {
    
        /// <summary>
        /// 插入排序
        /// </summary>
        /// <param name="unsorted"></param>
        static void insertion_sort(int[] arr) {
            for (int i = 1; i < arr.length; i++) {
                //从数据里面的第二个数据开始 轮询
                if (arr[i - 1] > arr[i]) {
                    //拿出当前的数据,然后将比它大的数据都往下挪
                    int temp = arr[i];
                    int j = i;
                    while (j > 0 && arr[j - 1] > temp) {
                        arr[j] = arr[j - 1];
                        j--;
                    }
                    arr[j] = temp;
                }
            }
        }
    
        public static void main(String[] args) {
    
            int[] x = { 6, 7, 1, 2, 4, 9 };
            insertion_sort(x);
            for (int i : x) {
                System.out.println(i);
            }
        
        }
    }
  • 相关阅读:
    poj2728 Desert King
    bzoj4289 Tax
    洛谷P4141消失之物
    Code Forces 698A Vacations
    Code Forces 543A Writing Code
    洛谷P1133 教主的花园
    poj3177 Redundant Paths
    bzoj1151 动物园
    bzoj1503 郁闷的出纳员
    bzoj1208 宠物收养所
  • 原文地址:https://www.cnblogs.com/llq1214/p/9718265.html
Copyright © 2011-2022 走看看