zoukankan      html  css  js  c++  java
  • 算法——插入排序

    #include <iostream>

    #include <cstdio>

    using namespace std;

    //插入排序

    /*原理:像打扑克时整理手牌所做的事一样

    在原来数组的基础上,以第一张手牌(认为已经排好序)为初始,依次插入后面的元素

    */

    int  a[9]={0,1,54,77,24,97,32,8,21};  //说明:0号元素不计入待排序的元素内(对1到8号排序)

    void fun()

    {

        int j,now;  //设置在循环外

        for(int i=2;i<=8;i++)//从第二位开始(第一位只有一个,是有序的)

        {

            now=a[i];       //用now记录下来此时的a[i],因为在整体后移中a[i]会丢失

            for(j=i-1;j>=1;j--)

            {

                if(a[j]>now)       //比待插入元素大的全部后移一位,这里还得用now

                    a[j+1]=a[j];    //右移(从后往前遍历)

                else break;     //此时找到位置

            }

            a[j+1]=now;

        }

    }

    int main()

    {

        fun();

        for(int i=1;i<=8;i++)

            cout<<a[i]<<" ";

        return 0;

    }

    这篇文章,是又一个故事的结束...
    lazy's story is continuing.
  • 相关阅读:
    linux 运维 nginx服务器
    linux 运维,代理,acl控制访问
    shell脚本 awk工具
    shell脚本 sed工具
    shell脚本 字串截取 正则表达式
    Django ORM 反向查询
    Django model操作
    Form的is_valid校验规则及验证顺序
    Django 中的Form、ModelForm
    Django 中的Form表单认证
  • 原文地址:https://www.cnblogs.com/Hello-world-hello-lazy/p/13473776.html
Copyright © 2011-2022 走看看