首页 > 编程语言 >十大排序算法之【插入排序】

十大排序算法之【插入排序】

时间:2022-09-04 21:14:43浏览次数:46  
标签:sort insert int 插入排序 算法 vector key 排序

插入排序的原理很简单:斗地主理牌的时候怎么操作就怎么操作。

最简易版代码实现:

#include <bits/stdc++.h>

void insert_sort(vector<int>& in)
{

  for(int i = 0;i<in.size();i++)
  {
    int key = in[i];
    int j = i-1;
    while(j>=0 && a[j]>key )
    {
      in[j+1] = in[j];
      j--;
    }
    in[j+1] = key;  
  }
  

优化:


}

int main()
{
  //
  vector<int> in;
  insert_sort(in);

}


标签:sort,insert,int,插入排序,算法,vector,key,排序
From: https://www.cnblogs.com/black-worrior-2000/p/16656078.html

相关文章

  • 算法--链表
       方法一:构造链表如果此类型的题出现在笔试中,如果内存要求不高,可以采用如下方法:可以先用一个vector将单链表的指针都存起来,然后再构造链表。此方法简单易懂,代码好......
  • 算法提高课 第四章 数据结构之树状数组
    一、介绍功能快速求前缀和O(logn)修改某一个数O(logn)原理c[x]:以x结尾的长度lowbit(x)的所有数的和父节点找所有子节点(求和操作):c[x]=a[x]+c[x-1]+.........
  • leetcode 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素(简单)
    一、题目大意给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:h......
  • 算法模板
    基础算法倍增intget(intl,intr){intd=r-l+1;intc=upper_bound(one,one+max_v+1,d)-one-1;returnmax(dp[l][c],dp[r-one[c]......
  • 函数f(m,n)算法设计
    题目:设m,n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5,有5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。以下是该函数的程序段,请将......
  • 数据结构与算法【Java】05---排序算法总结
    前言数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码。要学习好数据结构就......
  • 算法
    1、lc的链表对折那道题。2、在main函数里实例化链表然后测试3、 反转链表4、 三数之和......
  • Python 中的冒泡排序和解释 - 教程。
    Python中的冒泡排序和解释-教程。冒泡排序是您比较相邻值并相应地交换它的地方。这种排序算法有一些应用,其中一些是对数据库中的数据进行排序,例如:按价格对亚马逊产品进......
  • 使用DES算法的加解密Java工具类-字符串加解密
    importjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;importjava.security.SecureRandom;importorg.apache.commons.codec.binary.Base64;/***@ClassN......
  • map排序及keyset顺序问题
    packagetest;importjava.util.HashMap;importjava.util.Hashtable;importjava.util.Iterator;importjava.util.LinkedHashMap;importjava.util.Map;import......