最近写博客的时间明显减少了,自己要反思一下,利用下班的一点时间,写了插入排序的算法实现,供大家参考。也自省一下:学习如逆水行舟,不进则退!

这里还是以最简单的整型数组为例,随后再分析一下list结构的插入排序。

CSDN的代码粘贴显示效果不是太好,还是用自己喜欢的格式吧,代码为了方便复制,附后。

#include <iostream>
using std::cout;
using std::endl;
void insertion_sort(int dataList[], int count)
{
int first_unsorted;
int currentIndex;
int currentItem;
for(first_unsorted = 1; first_unsorted<count; ++first_unsorted)
{
if(dataList[first_unsorted] < dataList[first_unsorted-1])
{
currentIndex = first_unsorted;
currentItem = dataList[first_unsorted]; 
while ( currentIndex > 0 && (dataList[currentIndex-1] > currentItem))
{
dataList[currentIndex] = dataList[currentIndex-1];
currentIndex--;
}
dataList[currentIndex] = currentItem;
}
}
}
int main()
{
const int count = 10;
int data[count] = {7,2,6,4,0,9,5,1,3,8};
insertion_sort(data, count);
for(int i = 0; i< count; i++)
{
cout<<data[i]<<endl;
}
getchar();
}
#include <iostream>using std::cout;
using std::endl;void insertion_sort(int dataList[], int count)
{int first_unsorted;int currentIndex;int currentItem;for(first_unsorted = 1; first_unsorted<count; ++first_unsorted){if(dataList[first_unsorted] < dataList[first_unsorted-1]){currentIndex = first_unsorted;currentItem = dataList[first_unsorted]; while ( currentIndex > 0 && (dataList[currentIndex-1] > currentItem)){dataList[currentIndex] = dataList[currentIndex-1];currentIndex--;}dataList[currentIndex] = currentItem;}}
}int main()
{const int count = 10;int data[count] = {7,2,6,4,0,9,5,1,3,8};insertion_sort(data, count);for(int i = 0; i< count; i++){cout<<data[i]<<endl;}getchar();
}

人人都来写算法 之 插入排序相关推荐

  1. 人人都来写算法 之 快速排序

    中午吃饭比较早,利用20分钟把快速排序写了下,以说明算法为主,采用int数组存储数据.后续可以在以下两点优化程序: 1. 采用模板编程,支持通用数据类型: 2. 采用函数指针或者函数对象决定排序方式. ...

  2. Java常见排序算法之插入排序

    一.概述 本节由小千给大家分享Java常见排序算法之插入排序,之前我们说过排序是算法中的一部分.所以我们学习排序也是算法的入门,为了能让大家感受到排序是算法的一部分,我举个例子证明一下:比如麻将游戏, ...

  3. java数据结构排序实验报告_java数据结构与算法之插入排序详解

    本文实例讲述了java数据结构与算法之插入排序.分享给大家供大家参考,具体如下: 复习之余,就将数据结构中关于排序的这块知识点整理了一下,写下来是想与更多的人分享,最关键的是做一备份,为方便以后查阅. ...

  4. 插入排序 php,常用的排序算法(二)--插入排序(PHP实现)

    常用的排序算法系列 插入排序 插入排序是一种逻辑上非常好理解的排序方式,整个排序的核心就是不断在当前已经排好部分数据的数组里,找到合适的位置插入新数据.就像抓扑克牌,抓一张,然后再手里已经部分已经排好 ...

  5. 归并有效排序算法matlab,科学网—[用MATLAB写算法]之排序算法2)归并排序merge sort - 徐勇刚的博文...

    归并排序(merge sort)是一种利用分治策略(divide and conquer)进行排序的算法,算法复杂度为 $\Theta (nlog_{2}n)$ . filename: merge_s ...

  6. 一日一次 算法 (一) 插入排序

    序 算法有用又用不到,但是面试还挺爱考,虽然不是应届生就不太考算法题了,但是还是难免会遇到这样的问题.一日一次写算法,即是温故又是知新,温故大学ACM和OJ的经历,知新是因为当时也没有学习太多算法,只 ...

  7. 【人人都是算法工程师】算法工程师的“三年面试五年模拟”之独孤九剑秘籍(先行版)

    0 导读 这是我写在公众号里的一篇文章,在此分享到知乎上,一来是希望能和知乎上的朋友们一起交流学习CV算法以及相应的知识,也欢迎大家关注我的公众号WeThinkIn. 公众号原文: [人人都是算法工程 ...

  8. c语言知道算法写不出代码,这个代码怎么写算法啊,求教,我真的不会写算法怎么办#incl...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这个代码怎么写算法啊,求教,我真的不会写算法怎么办 #include "stdio.h" #define N 3 //学生数3. st ...

  9. 一步一步写算法(之图结构)

    原文:一步一步写算法(之图结构) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 图是数据结构里面的重要一章.通过图,我们可以判断两个点之间是 ...

最新文章

  1. 【编码】对qsort函数的稳定排序优化-京东实习笔试编程题(一)-2016.04.08
  2. 【Socket网络编程】11.网络编程中的 数据封装 和 数据拆封
  3. Bootstrap4+MySQL前后端综合实训-Day04-AM【新闻管理手机端页面+数据库操作(PowerDesigner 图形化数据库设计软件、SQLyog软件)】
  4. 重磅!AWS任命张文翊女士为全球副总裁及大中华区执行董事!
  5. 【VMCloud云平台】SCDPM(四)如何保护数据库(一)
  6. 【UVA524】Prime Ring Problem(素数环--递归回溯+全局变量的一个小坑点---水题)
  7. 奇迹按键精灵挂机脚本_奇迹挂机捡物按键精灵源码
  8. PLC通讯实现-C#实现欧姆龙以太网通讯FINS UDP(三)
  9. 快捷连接 残差_残差网络解决了什么问题
  10. 00_简单常识介绍——NOIP/NOI/IOI(信息学奥林匹克竞赛)
  11. (一)大型电商详情页亿级缓存架构简介
  12. 智能食谱管理系统3.02
  13. Python3爬取英雄联盟英雄皮肤大图
  14. 加密芯片十大品牌对比
  15. VVIC接口,item_get - 根据ID取商品详情
  16. 收藏能力升级,支付宝版「小程序桌面」初现!
  17. 基于HTML5 Canvas的开源图形组件-ichartjs 入门篇
  18. xps是什么文件?xps文件怎么打开?
  19. 软件体系结构结课报告
  20. 年薪10万与年薪100万的程序员,写出代码的区别

热门文章

  1. 报表平台——体系架构
  2. 690-文件管理和文件系统
  3. Excel如何快速将含小数的数值提取出来
  4. 谈谈keep-alive的理解
  5. Python:语音处理,实现在线朗读RFC文档或本地文本文件
  6. 电脑开机后进不了系统怎么办?
  7. 人工智能(AI)革命性提升了人类的生活质量和工作效率
  8. 岗位和职责和划分在测试团队中的重要性
  9. VSTO之PPT幻灯片放映时间记录
  10. CSDN论坛如何能够获得积分呢?