• //选择排序


    //选择排序
    #include "stdafx.h"
    using namespace std;
    #include<vector>
    #include<string>

    class Solution
    {
    public:

        static int* bubbleSort(int* array, int len)
        {
            int current;
            int preIndex;
            for (int i = 0; i < len; i++)
            {
                current = array[i+1]; //从未排序的第一个开始
                preIndex = i;  //preIndex 是已经排序好的数组的最后一个  下标
                while (current>0 && current< array[preIndex])  //拿current 从后往前比较
                {
                    // case1:
                    //     { 1, 5, 7, 6, 2, 3 };  比如说6、往前找、找到5比6小、把6插在5后面
                    array[preIndex + 1] = array[preIndex]; //找到比 current 小的、把current 插到这个数的前面,,,这个数往后移一位
                    preIndex--;                //只要current往前走一步、之前这个位置上的就要往后移一位
                                            //这里往前查的时候、刚好找到了把    current换上去、
                                            // 这里已经找到了、但是还要走case 2、所以要--、相当于所有的位置不变
                }
                // case 2:
                array[preIndex+1] = current;  //提出来一看、已经是排好序的、直接查下一个、把index +1 就是下一个要找的
            }
            return array;
        }

    };


    int main()
    {
        int aa[] = { 1, 5, 7, 6, 2, 3 };
        Solution sou;
        sou.bubbleSort(aa, 6);
        return 1;
    }

    天天向上
  • 相关阅读:
    WCF HelpPage 和自动根据头返回JSON XML
    Jquery及插件 应用
    Autofac Mvc Webapi注入笔记
    TransactionScope 出错 与基础事务管理器的通信失败
    工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)
    Asp.net的异步处理模型Asp.net的异步如何提高服务器的吞吐量
    WCF 契约定义命名空间 的疑问
    常用的18个人情世故
    StatusCode
    web标准常见问题集合
  • 原文地址:https://www.cnblogs.com/hg07/p/12733683.html
Copyright © 2020-2023  润新知