时间复杂度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;}
来源:https://www.cnblogs.com/nonames/p/12286099.html