冒泡排序

洛谷1116

概念

//当然下面是争对升序排序
冒泡是每次大当往最后移动,所有只需只需n-1次,每次移动完全,后面就不需要关,所以后面就要用j-i,表示不考虑最后的

for(int i = 0;i<n-1;i++){
  for(int j = 0;j<n-i-1;j++){
    if(..)
  }
}

时间

比较稳定time \(O(n)\)

代码

#include<iostream>
using namespace std;
int main(){
    int n ;
    cin>>n;
    int arr[n];
    for(int  i = 0;i<n;i++)
    cin>>arr[i];
    int num = 0;
    for(int  i = 0;i<n-1;i++){
        for(int j = 0;j<n-i-1;j++){
            if(arr[j]>arr[j+1]){
                swap(arr[j],arr[j+1]);
                num++;
            }
        }
    }
    cout<<num;
}
posted @ 2022-11-12 15:10  壹剑霜寒十四州  阅读(12)  评论(0编辑  收藏  举报