漫画:什么是插入排序?
戳蓝字“CSDN云计算”关注我们哦!
————— 第二天 —————
————————————
人们如何进行扑克牌的排序呢?举个例子,比如我手中有红桃6,7,9,10这四张牌,已经处于升序排列:
这时候,我又抓到了一张红桃8,如何让手中的五张牌重新变成升序呢?用冒泡排序,选择排序,亦或是快速排序?
恐怕正常人打牌的时候都不会那么做。最自然也最简单的方式,是在已经有序的四张牌中找到红桃8应该插入的位置,也就是7和9之间,把红桃8插入进去:
第一轮
让元素8和有序区的元素依次比较。8>5,所以元素8和元素5无需交换。
此时有序区的元素增加到两个:
第二轮
让元素6和有序区的元素依次比较。6<8,所以把元素6和元素8进行交换:
第三轮
在第三轮操作中,我们需要让元素3逐个与有序区的元素进行比较和交换,与8交换、与6交换、与5交换,最终交换到有序区的第一个位置。
但是我们并不需要真的进行完整交换,只需把元素3暂存起来,再把有序区的元素从左向右逐一复制。
第一步,暂存元素3:
public static void sort(int[] array){ for(int i=1;i<array.length;i++){ int insertValue =array[i]; int j=i-1; //从右向左比较元素的同时,进行元素复制 for(; j>=0&&insertValue<array[j]; j--){ array[j+1]=array[j]; } //insertValue的值插入适当位置 array[j+1]=insertValue; }
}
public static void main(String[] args) { int array[]={12,1,3,46,5,0,-3,12,35,16}; sort(array); System.out.println(Arrays.toString(array));
}
![](/assets/blank.gif)
如何少走弯路,利用不同区块链的数据结构实现项目上链?
数据架构是区块链的重要组成部分,了解数据架构,可以让我们对于自身业务是否适合上链做出明智的判断。
9月19日,【dfuse小聚:区块链数据应用讨论会】将在上海举行,dfuse CTO&联合创始人、EOS加拿大联合创始人 Alex Bourget;慢雾科技合伙人兼安全产品负责人启富(Keywolf);MYKET联合创始人/EOS Cannon联合创始人Ricky胖哥,与你一起深度探索区块链应用搭建以及区块链数据结构的奥秘,让你明白到底你的业务该如何上链!
长按下方二维码报名
???
- HDC.2019后再发力,AppGallery Connect服务新升级
Docker是啥?容器变革的火花? - 算法一看就懂之「 堆栈 」
- 记一道字节跳动的算法面试题
火热的云计算,你知道这些吗? 假如从餐饮店的角度来看架构…
漫画:什么是插入排序?相关推荐
- 漫画:什么是插入排序算法?
面试官:聊聊插入排序 插入排序是一种比较简单直观的排序算法,适用处理数据量比较少或者部分有序的数据,今天我们来聊聊插入排序 一.排序思想 只见慧能拿出了一副牌,洗了洗牌,然后放在桌子上,从牌顶摸了几张 ...
- python遍历数组冒泡排序_经典排序算法(冒泡排序,选择排序,插入排序,快速排序,堆排序)python实现...
最近在复习经典排序算法,自己用python也实现了一下,这里不会涉及到原理(因为网上方法已经很详细啦),就把函数贴上来,可以让大家自己试着运行下,再结合别处的原理也可以更好地理解它们的实现. 如果有错 ...
- 在一个无序的int数组上构建一个最小堆的时间复杂度_漫画:寻找无序数组的第k大元素(修订版)...
----- 第二天 ----- 题目是什么意思呢?比如给定的无序数组如下: 如果 k=6,也就是要寻找第6大的元素,这个元素是哪一个呢? 显然,数组中第一大的元素是24,第二大的元素是20,第三大的元 ...
- 【算法入门漫画】:“排序算法” 大总结
冒泡排序: 漫画:什么是冒泡排序? 选择排序: 漫画:什么是选择排序? 插入排序: 漫画:什么是插入排序? 此外还有冒泡排序的变种,鸡尾酒排序: 漫画:什么是鸡尾酒排序? 第三梯队的排序算法有什么共同 ...
- 数组中的元素赋值给元素_漫画:寻找无序数组的第k大元素
本期封面作者:泰勒太乐 ----- 第二天 ----- 题目是什么意思呢?比如给定的无序数组如下: 如果 k=6,也就是要寻找第6大的元素,这个元素是哪一个呢? 显然,数组中第一大的元素是24,第 ...
- c++ 二维数组 排序_漫画:“排序算法” 大总结
冒泡排序: 漫画:什么是冒泡排序?mp.weixin.qq.com 选择排序: 漫画:什么是选择排序?mp.weixin.qq.com 插入排序: 漫画:什么是插入排序?mp.weixin.q ...
- 漫画:程序员战力图鉴
戳蓝字"CSDN云计算"关注我们哦! 看漫画了解程序员战斗力 are u ready? 编程架构能力 撕比嘴炮能力 划水摸鱼能力 花式甩锅能力 画饼忽悠能力 PPT吹比能力 哈哈哈 ...
- 遍历数组是什么意思_漫画:寻找无序数组的第k大元素(修订版)
----- 第二天 ----- 题目是什么意思呢?比如给定的无序数组如下: 如果 k=6,也就是要寻找第6大的元素,这个元素是哪一个呢? 显然,数组中第一大的元素是24,第二大的元素是20,第三大的元 ...
- 漫画算法-小灰的算法之旅-排序算法(四)
本文内容基于<漫画算法 小灰的算法之旅>,魏梦舒著. 1. 分类 1.1 时间复杂度为O(n^2)的排序算法 1.2 时间复杂度为O(nlogn)的排序算法 1.3 时间复杂度为线性的排序 ...
最新文章
- Vue.js 是什么
- Python 技术篇-用win32库实现读取、添加、修改注册表的值实例演示
- java derby 用户安全_Java 7u51安全权限变化,运行derby server被拒,解决方法
- Ubuntu Server 上在安装Nginx时执行./confgiure后提示:C compiler cc is not found
- zabbix 2.2自动安装脚本
- mysql 重复率高字段 索引_MySQL性能优化(二)索引优化
- mysql函数match_Mysql全文搜索match…against的用法 | 学步园
- 循环队列的介绍与实现
- Metasploit
- Netpas:不一样的SD-WAN+ 保障网络通讯品质
- 590. N叉树的后序遍历
- auto CAD 常用快捷键指令
- ffmpeg压制视频命令及常用转码参数解析
- 使用原始武器的现代战争
- 论文阅读笔记: (2022.05, icra) Traffic Context Aware Data Augmentation for Rare Object Detection in Autonom
- 高中OJ3837. 【NOIP2014模拟9.14】心灵终结
- 日语促音和长音怎么打?
- 5-6中央处理器-多处理器系统硬件多线程
- 音视频基础知识 颜色模型
- JavaScript之动画特效
热门文章
- java resttemplate_java-通过resttemplate通过Spring Rest服务发送文...
- 萤火虫小程序_9.9元起!萤火虫中秋文化节来了!特价门票限量秒杀,手慢无!...
- 第5次基金申请终于中了!这个血泪教训一定要避免
- 在密码学研究方面不断创新突破—— 女密码学家的成功密码
- 二维码原来可以这样玩
- 怎么用计算机杀毒,电脑怎样查杀病毒
- c#计算长方形的周长和面积公式_Java面向对象练习题之计算圆的面积和周长
- java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncStarted()Z 的解决
- 北京市(朝阳区)(西城区)(海定区)正则表达式(代码保存)
- hdfs fsck命令查看HDFS文件对应的文件块信息(Block)和位置信息(Locations)