1. 程式人生 > >數列排序

數列排序

題目:

       時間限制: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;
}