算法——冒泡排序

//冒泡排序 O(n^2)

/*

原理思考:第一次冒泡是将最大值移到了最后一个

          第二次是将次大值移到了倒数第二个,以此类推......

           所以只需(数组长度-1)次就能完成排序

*/

 

#include <iostream>
#include <cstdio>
using namespace std;
int a[10]={213,21,45,231,67,31,2389,54,32,77};
void fun()
{
    for(int i=0;i<10-1;i++)//对长度为10的数组只需要10-1次
    {
        for(int j=0;j<10-i-1;j++)//优化:因为最后面i个已经排好序了,所以是10-i-1
            if(a[j]>a[j+1])
                swap(a[j],a[j+1]);
    }
}
int main()
{
    fun();
    return 0;
}
posted @ 2020-08-20 15:31  py佐料  阅读(97)  评论(0编辑  收藏  举报