zoukankan      html  css  js  c++  java
  • 排序算法之冒泡排序(Bubble Sort)

    基本思想

      假如按照从小到大的顺序排序,对待排序数组进行遍历,如果当前值大于其后一个值则进行交换,不断的进行遍历,直到没有交换动作的发生。冒泡排序的最好时间复杂度为O(n),最坏的时间复杂度为O(n²),所以冒泡排序的平均时间复杂度为O(n²),另外冒泡排序不会改变相同元素的前后顺序,故其是一种稳定的排序算法。

    实现代码

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int MyData[10] = { 7,3,12,46,32,64,13,24,21,5 };
        int Temp_Data = 0,Count = 1;//记录是否未发生交换,若一趟冒泡无交换发生则退出
    
        while (Count)
        {
            Count = 1;
            for (int i = 0; i < 10 - 1; i++)
            {
                if (MyData[i] > MyData[i + 1])
                {
                    Count++;
                    Temp_Data = MyData[i + 1];
                    MyData[i + 1] = MyData[i];
                    MyData[i] = Temp_Data;
                }
            }
            if (Count == 1)
            {
                Count = 0;
            }
        }
    
        for (int i = 0; i < 10; i++)
        {
            cout << MyData[i] << "  ";
        }
        cout << endl;
        system("pause");
    
        return 0;
    }  
  • 相关阅读:
    洛谷P3811题解
    洛谷P3353在你窗外闪耀的星星-题解
    Map根据value来排序
    java8 groupby count
    Java反射
    maven profile环境切换
    获取nginx代理情况下的真实ip
    获取request里header的name和value
    git 删除iml文件
    java list 排序
  • 原文地址:https://www.cnblogs.com/chmm/p/7426378.html
Copyright © 2011-2022 走看看