數列排序
阿新 • • 發佈:2018-12-16
題目:
時間限制:1.0s 記憶體限制:512.0MB 問題描述 給定一個長度為n的數列,將這個數列按從小到大的順序排列。1<=n<=200 輸入格式 第一行為一個整數n。 第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000。 輸出格式 輸出一行,按從小到大的順序輸出排序後的數列。 樣例輸入 5 8 3 6 4 9 樣例輸出 3 4 6 8 9
解析:
(1)定義兩個變數,一個是陣列a[200],用來表示長度為1<=n<=200的數列;一個為n,即為數列的長度
(2)輸入序列的長度n,然後for語句迴圈輸入序列的元素
(3)利用sort函式由小到大排序,注意需要新增標頭檔案#include<algorithm>
附 sort函式的用法:
sort函式有三個引數:
第一個是要排序的陣列的起始地址。
第二個是結束的地址(最後一位要排序的地址)
第三個引數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個引數,此時預設的排序方法是從小到大排序。
sort函式使用模板:
sort(start,end,排序方法)
(4)for語句迴圈進行輸出,從而得到從小到大排列的序列
原始碼:
#include<iostream> #include<algorithm> using namespace std; int main() { int a[200],n; cin>>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]<<" "; cout<<endl; return 0; }