白话经典算法系列之二 直接插入排序的三种实现(转)_白话算法直接插入排序_zhangyunhong98的博客-程序员秘密

技术标签: 笔试题  

http://blog.csdn.net/morewindows/article/details/6665714

#include<iostream>
using namespace std;

//交换两个数,这里用到了引用
void Swap(int &a, int &b)
{
    int temp;

    temp = a;
    a = b;
    b = temp;

    return ;
}


void Insertion_Sort2(int a[], int len)
{
    int i,j;
    int temp;
    for (i = 1; i < len ;i++)
    {
        if (a[i-1] > a[i])    //判断是否需要调整
        {
            temp = a[i];
            for(j = i -1; j >=0&& a[j]>temp; j--)
            {
                a[j + 1] = a[j];
            }
            a[j +1] = temp;     //加1补回来
        }
    }
    return ;

}


void Insertion_Sort1(int a[], int len)
{
    int i, j, k;
    int temp;

    for(i = 1; i < len ; i++)
    {
        //为a[i]在前面的a[0...i-1]有序区间中找到合适的位置
        for(j = i -1; j >=0; j--)
        {
            if(a[j] > a[j +1])
            {
                Swap(a[j], a[j+1]);                  //交换
            }
        }
    }



    return;
}


int main()
{
    int i;
    int N =6;                                                    //数组个数
    int s[6] = {
   5,2,4,6,1,3};         //初始化
    for(i = 0;  i < N; i++)
        cout<< s[i] <<" ";
    cout<<endl;
    Insertion_Sort1(s, N);                                     //快速排序
    //输出排序后的数组
    for(i = 0;  i < N; i++)
        cout<< s[i] <<" ";

    return 0;

}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangyunhong98/article/details/50815117

智能推荐

Excel中批量添加超链接_excel 超链接文件夹位置_学领未来的博客-程序员秘密

【摘要】工作中经常需要给文件添加超链接,方便进行文档查阅,如果文档过多,一个一个添加超链接很麻烦,这时候批量添加超链接就非常重要了。下面将结合示例告诉大家如何在Excel中进行批量超链接的设置。【正文】一、 场景介绍制作员工信息表时需要给每个员工添加一个超链接,链接到简历表文件夹中各个员工的简历。二、 获取文件夹文件列表路径设置超链接之前,需要先准备好超链接文件的路径。方法一:...

camera 拍照_秋名山的小白鼠的博客-程序员秘密

Camera拍照过程预览成功后使能ShutterButton

vue2.0源码之数据双向绑定原理和实现_vue2.0双向绑定原理_高质量coder的博客-程序员秘密

vue源码之数据双向绑定原理一.双向绑定的原理介绍二.代码简单实现这里什么说是vue2.0的双向绑定原理是因为和vue3.0的实现方式是有区别的。一.双向绑定的原理介绍vue的双向绑定是数据和视图的同步变化,即当数据发生变化的时候,相关的视图会发生改变;视图发生改变的时候,数据也会随之变化。它是通过 数据劫持 结合 发布订阅模式的方式来实现的。下图是一个vue数据双向绑定的过程:将vue中的data里的所有属性通过实现Observer来完成数据劫持Dep是一个容器来存放所有的订阅者Watc

音视频入门之如何绘制一张图片_码农突围的博客-程序员秘密

Android 的音视频入门学习,首先了解一下绘制图片。在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View作绘制图片。下面我以SurfaceView作重点来讲,为什么不用其他的来作例子,分析完SurfaceView就是知道为什么要用SurfaceView作例子。SurfaceView我们以下面几个点来了解Surfa...

svn与git结合,实现版本管理_封巍的博客-程序员秘密

1、实际使用的是svn与git结合,没有单纯的使用svn或git,当然svn和git都是一套完整的VCS(version control system)。 2、为什么要结合使用git?之前使用的是svn,因为开发与测试工作并行,需要打很多分支,svn在分支合并上,处理不太好(合并可能会产生很多冲突,冲突处理时间较长,慢慢就弃用了svn的分支处理功能),所以采用了git。 3、对

UDS诊断系列之五 诊断会话控制(10)服务_nrc22_ChenglimK的博客-程序员秘密

从这篇开始,将开始介绍一些常用的服务,介绍顺序按照ISO14229-1进行。

随便推点

【转载】笔记:计算机_体系结构_操作系统_软件_操作系统内核_GNU_Linux_C_Python_Latex_Java_TCP/IP_MacOS_Windows这些词语的历史,关系_科技楼第一坑的博客-程序员秘密

一、计算机的发明世上本无路,走的人多了,就有了路。世上本无计算机,琢磨的人多了……没有计算机,一切无从谈起。三个人对计算机的发明功不可没,居功至伟。阿兰·图灵(Alan Mathison Turing)、阿塔那索夫(John Vincent Atanasoff)、和冯·诺依曼(John von Neumann)。图灵从理论上证明了计算机的可行性;阿塔那索夫实践了图灵的理论;冯·诺依曼奠...

elasticsearch:近似匹配、短语匹配及优化——笔记_星辰_mya的博客-程序员秘密

短语匹配:phrase match:多个term作为一个单位,作为搜索条件GET /forum/article/_search{ &quot;query&quot;: { &quot;match_phrase&quot;: { &quot;title&quot;:{ &quot;query&quot;: &quot;java spark&quot;, &quot;slop&quot;:3 } } }}sl

OSX 系统安装Nginx_巅峰键盘侠的博客-程序员秘密

使用brew命令安装#brew install nginx安装完成后,部分提示信息如下所示:Updating Homebrew...==&gt; Auto-updated Homebrew!Updated 1 tap (homebrew/core).==&gt; Updated Formulaeamazon-ecs-cli erlang k...

Topcoder SRM 663 DIV 1_weixin_34049032的博客-程序员秘密

ABBADiv1题意:规定两种操作,一种是在字符串的末尾添加A,另一种是在末尾添加B然后反转字符串。现在给你一个起始串,一个终点串,然后问你是否能够通过以上两种操作,从起始串变为终点串。题解:将问题反过来考虑,那么问题就变为了是否能够从终点串变为起始串。令起始串为s,终点串为t。首先考虑串t就是串s的子串,那么这个子串的前面的B的数量一定要和这个子串后面的B的数量相同,这是因为...

在【守望先锋】学习C++的类与对象_守望先锋编程_Booksort的博客-程序员秘密

C++是一门OOP(面向对象)的语言。而C语言只是一名面向过程的语言。里面有些思路需要重新改变。为一个球队统计数据如果是面向过程的程序员,可能会考虑:

推荐文章

热门文章

相关标签