直接插入排序(Straight Insertion Sort)

将一个数组,按当前元素的大小,插入到前面已经排好序的数据中的适当位置中,
依次直到全入插入完全.
下面是一个数组在经过插入排序时的变化情况(t表次数times)

Init---{7, 4, 3, 2, 5, 6, 1}  初始
t=1----{4, 7, 3, 2, 5, 6, 1}  将第1个元素按其大小插到前面排好序的数列的相应位置
t=2----{3, 4, 7, 2, 5, 6, 1}  将第2个元素按其大小插到前面排好序的数列的相应位置
t=3----{2, 3, 4, 7, 5, 6, 1}  ...
t=4----{2, 3, 4, 5, 7, 6, 1}  ...
t=5----{2, 3, 4, 5, 6, 7, 1}  ...
t=6----{1, 2, 3, 4, 5, 6, 7}  将第t个元素按其大小插到前面排好序的数列的相应位置

C++实现如下:

 #include<iostream>using namespace std;void StraightInsertionSort(int arr[], int n){int tmp  = 0,prev = 0; // Previous Elementfor(int t=1; t<n; t++) // t for times{tmp = arr[t]; // 取出当前元素prev = t - 1; // 前一个元素// 当前元素小于前一个且没越界,执行替换while( (prev >= 0) && (tmp < arr[prev]) ){arr[prev + 1] = arr[prev]; // 把前一个元素赋值给当前prev--; // 再向前移动一个位置}arr[prev+1] = tmp;}}// 在主函数中测试下...void main(){int arr1[] = {7, 4, 3, 2, 5, 6, 1};StraightInsertionSort(arr1, 7);for(int i=0; i<7; i++)cout<< arr1[i] << " ";cout<<endl;}

 

在网上有段很不错的插入排序舞蹈,可以看看:

转载于:https://www.cnblogs.com/rookie2/archive/2012/08/23/2653466.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

历时一个月!50+Vue经典面试题详解,值得收藏!

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

页面滚动时触发图片逐帧播放_如何在滚动效果上创建逐帧运动图像

页面滚动时触发图片逐帧播放A step by step guide on how to create that dynamic image background you see everywhere.有关如何创建随处可见的动态图像背景的逐步指南。 内容 (Content) Introduction 介绍 Result demo 结果演示 Prerequisite 先决条件 Step by step guide …

hdu 4391 Paint The Wall 线段树 +优化 2012 Multi-University Training Contest 10 )

http://acm.hdu.edu.cn/showproblem.php?pid4391题意&#xff1a;刷墙&#xff0c; 以开始 有 n个节点&#xff0c;每个节点有一种颜色 &#xff0c;m 次询问m次 输入 a&#xff0c;l&#xff0c;r&#xff0c;z 如果 a1 将 l到 r 刷为 z 颜色&#xff0c;如果 a2 询问 l 到…

前端监控的搭建步骤,别再一头雾水了!

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

1812:网格_指导设计:网格的历史

1812:网格The grid has long played a central role in the development of art and design due to its organizational nature; acting as a matrix for controlling the placement of elements. In art: Foreground and background. In design: Image and type. And so on.网…

HDU ACM 1728 逃离迷宫 (广搜BFS)

http://acm.hdu.edu.cn/showproblem.php?pid1728 题意:给出一张图,转弯数k,起点(x1,y1),(x2,y2)判断能不能最多只转k个弯时从起点走到终点 输入时注意起点与终点是先y后x的 思路:用point[4][2]表示方向向量,每次遍历遍历一行或者一列,遍历时要注意遇到遍历过的点要跳过去,继续…

Element使用的async-validator表单校验库源码超详细解析

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

从零手写 Vue 之响应式系统

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

WPF 分页控件应用

效果图&#xff1a; 前台代码&#xff1a; <UserControl x:Class"Layout.UI.Comm.Pager"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http:/…

李宁品牌重塑_迈伊多品牌重塑的幕后

李宁品牌重塑This post was originally published on the Maido blog.这篇文章最初发表在 Maido博客上 。 You might notice that we’ve had a little facelift at Maido. Or you might not — and that’s totally fine. What we launched at the end of last year was not r…

搭建前端监控,如何采集异常数据?

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。…

产品经理如何提高创造力_如何提高产品设计师的创造力

产品经理如何提高创造力When David Kelley, Bill Moggridge, and Mike Nuttall founded IDEO, a consulting firm that would become one of the most innovative companies of the late 90s, they brought a new perspective in product development.当大卫凯利(David Kelley)…

Github上8个很棒的Vue项目

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。…

域名解析文件hosts文件是什么?如何修改hosts文件?

如何修改hosts文件&#xff1f; hosts文件的位置&#xff1a;xp,2000等系统在 C:\windows\system32\drivers\etc 文件夹中找到Hosts文件并用记事本打开(Windows 9x/Me系统在C:\Windows文件夹中找)按照 ip地址 域名 的格式添加单独的一行记录。例如72.14.219.190 www.hbcms.net…

python 投资组合_成功投资组合的提示

python 投资组合Lately, I’ve had some free time during my job transition and have been reviewing a few of my friends’ design portfolios. Gradually, I found some common themes around the feedback I’ve given. And it occurred to me that others might find so…

Github上8个很棒的React项目

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。…

腾讯的笔试题一道

搜罗了一些腾讯的笔试题目 题目是这样的&#xff1a;在如下8*6的矩阵中&#xff0c;请计算从A移动到B一共有多少种走法&#xff1f;要求每次只能向上挥着向右移动一格&#xff0c;并且不能经过P&#xff1b; B P …

屏幕广播系统_如何设计系统,而不是屏幕

屏幕广播系统重点 (Top highlight)Over the past several decades, rapid advances in technology have dramatically enhanced the digital customer experience and their expectations. In the face of these heightened customer expectations, the role of the Interactio…

Umi 4 发布啦

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此加我微信ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。…

Win32汇编--加载菜单资源

基本上的窗口都会有一个菜单,现在就来看看Win32汇编中是如何加载菜单的: 1>在工程中添加新的菜单资源 2>双击新添加的菜单资源进行编辑 3>菜单栏:Make->Compile RC来编译资源文件 4>导出资源中的ID号并写到数据段的.const中 5>下面是完整的源代码供参考:(工程…