• 排序算法---直接插入排序


    直接插入排序

    概念描述

      直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。

    基本原理

      通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

      插入排序在实现上,通常采用in-place(就地)排序,从后向前扫描过程中,需要反复把已排序元素逐步向后。

      类似于拿到一副扑克牌,将乱序的扑克,从左往右依次按大小排列,排列过程中观察纸牌大小就类似元素之间的比较,将纸牌插入到介于大于纸牌和小于纸牌的中间,这一过程就是直接插入

    原理图解

     

    代码实现

    void insert_sort(int arr[], int len){
        // 要排序的趟数
        for(int i = 1; i < len; ++i){
            // 将要排序的元素存储起来
            int tmp = arr[i];
            // tmp与之前排好序的元素直接比较,不满足条件则直接结束循环
            int j = i;
            for(; j > 0 && arr[j - 1] < tmp; --j){
                // 将前面满足条件的元素进行后移
                arr[j] = arr[j - 1];
            }
            // 就地插入,继续循环
            arr[j] = tmp;
        }
    }
  • 相关阅读:
    pymongo 学习
    Mongodb 学习
    2个list取交集
    2个list取差集
    yaml 基础
    is 和 ==的区别
    软件测试人员需要掌握的linux命令(二)
    免费翻译API破解(简易翻译工具)
    测试面试解析
    Python之Time模块
  • 原文地址:https://www.cnblogs.com/bj3251101/p/14413081.html
Copyright © 2020-2023  润新知