• 1、插入排序


    实现思路:

    1.从数组的第二个数据开始往前比较,即一开始用第二个数和他前面的一个比较,如果 符合条件(比前面的大或者小,自定义),则让他们交换位置。

    2.然后再用第三个数和第二个比较,符合则交换,但是此处还得继续往前比较,比如有 5个数8,15,20,45, 17,17比45小,需要交换,但是17也比20小,也要交换,当不需 要和15交换以后,说明也不需要和15前面的数据比较了,肯定不需要交换,因为前 面的数据都是有序的。

    3.重复步骤二,一直到数据全都排完。

    代码范例

    #include "stdafx.h"
    #include<windows.h>
    #include<iostream>
    
    using namespace std;
    
    //插入排序
    bool StraightSort(int *arr, int len)
    {
        int tmp;
        int i;
        int j;
        for (i = 1; i < len; i++)
        {
            tmp = arr[i];
            for (j = i - 1; j >= 0 && arr[j] > tmp; j--)
            {
                arr[j + 1] = arr[j];
            }
            arr[j + 1] = tmp;
        }
        return true;
    }
    
    
    int main()
    {
        bool bRet;
        int temp[] = { 3,2,1 };
    
        bRet = StraightSort(temp, sizeof(temp) / sizeof(int));
        for (int i = 0; i < sizeof(temp) / sizeof(int); i++)
        {
            cout << temp[i];
        }
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    处理器及其调度
    java面向对象
    操作系统概述
    mysql 基础操作
    java集合类详解
    java数组
    java方法
    Python—进程间通信
    Python—TCP的黏包问题以及UDP的分片问题
    Python—网络通信编程之tcp非阻塞通信(socketserver)
  • 原文地址:https://www.cnblogs.com/zwj-199306231519/p/14271473.html
Copyright © 2020-2023  润新知