zoukankan      html  css  js  c++  java
  • //选择排序

    //选择排序
    #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;
    }

    天天向上
  • 相关阅读:
    Ubuntu 装JDK
    U盘文件夹被病毒隐藏,且不能取消解决办法
    wireshark: there are no interfaces on which a capture can be done
    [转]Ubuntu 常用快捷键10个
    恢复被win7覆盖的Ubuntu Grub
    U盘安装Win7 64位
    荣耀3X畅玩版狙击红米note!
    Secret and Whisper
    360 chrome不能登录Google账户
    周鸿祎仍想做手机
  • 原文地址:https://www.cnblogs.com/hg07/p/12733683.html
Copyright © 2011-2022 走看看