冒泡排序

有些话、适合烂在心里 提交于 2020-02-09 05:33:25

时间复杂度O(N2

进行n-1次每一次将一个最小的数(或最大的数)归位(最后一个数排好序),两两比较进行交换。

#include<bits/stdc++.h>#define me(x , y) memset(x , y , sizeof(x))#define SC scanf#define rep(i , j , n) for(int i = j ; i < n ; i ++)#define red(i , n , j) for(int i = n-1 ; i >= j ; i--)#define INF  0x3f3f3f3f#define mod 1000000007#define PI acos(-1)using namespace std;typedef long long ll ;int a[109];int n ;void bubble(){    rep(i , 1 , n){//n-1次操作        rep(j , 0 , n-i){//n-i次遍历            if(a[j]>a[j+1]){                swap(a[j] , a[j+1]);            }        }    }}int main(){    cin >> n;    rep(i , 0 , n){        SC("%d" , &a[i]);    }    bubble();    rep(i , 0 , n){        cout <<a[i]<<" ";    }    cout << endl;    return 0;}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!