ALDS1_2_B:SelectionSort

題目地址

#include<iostream>

using namespace std;
/*
 * 冒泡排序思路:
 * 1. 進行n-1輪冒泡
 * 2. 每一輪冒泡排序,通過相鄰元素比較和交換將排序後的最後一個元素歸位
 * */

int bubbleSort(int a[], int n){
    int count = 0;
    for (int i = 0; i < n-1; i++){
        for (int j = 0; j < n-i-1; j++){
            if (a[j] > a[j+1]){
                swap(a[j], a[j+1]);
                count++;
            }
        }
    }
    return count;
}

int main(){
    int n, count;
    int a[100];
    cin>>n;
    for (int i = 0; i < n; i++){
        cin>>a[i];
    }
    count = bubbleSort(a, n);
    for (int i = 0; i < n; i++){
        if (i != n-1){
            cout<<a[i]<<" ";
        }else{
            cout<<a[i]<<endl;
        }
    }
    cout<<count<<endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章