藍橋杯:基礎練習 數列排序
阿新 • • 發佈:2019-01-08
問題描述:
給定一個長度為n的數列,將這個數列按從小到大的順序排列。1<=n<=200
輸入格式:
第一行為一個整數n。
第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000。
輸出格式:
輸出一行,按從小到大的順序輸出排序後的數列。
樣例輸入:
5
8 3 6 4 9
樣例輸出:
3 4 6 8 9
題解:
可以用自帶的sort演算法排序,用sort函式注意新增標頭檔案#include <algorithm>
#include <iostream> #include <algorithm> using namespace std; int main() { int n, t; cin >> n; int *a = new int[n]; for (int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); for(int i=0;i<n;i++) cout <<a[i]<<" "; }
還可以用其他演算法排序
#include <iostream> using namespace std; int main() { int n, t; cin >> n; int *a = new int[n]; for (int i = 0; i < n; i++) cin >> a[i]; for (int i=0; i < n; i++) for (int j = i+1; j < n; j++) { if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } for(int i=0;i<n;i++) cout <<a[i]<<" "; }