排序
一、题目要求
- 题目描述
输入N个数字,进行从小到大排序。 - 输入格式
输入第一行为正整数N(1<=N<=100000)
第二行包含N个数字,表示要排序的数字。 - 输出格式
输出N个从小到大排好序的整数,以空格分隔。 - 输入样例
5
3 2 1 4 5 - 输出样例
1 2 3 4 5
二、完整代码
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
int n;
while (std::cin >> n)
{
std::vector<int> a(n);
for (int i = 0; i < n; i++)
{
std::cin >> a[i];
}
std::sort(a.begin(), a.end());
for (int i = 0; i < n; i++)
{
std::cout << a[i] << " ";
}
std::cout<<std::endl;
}
return 0;
}
三、代码解析
- 运用了C++标准库中的vector(动态数组容器),其优点是不用手动管理内存
- for循环读取输入数据。
for (int i = 0; i < n; i++)
{
std::cin >> a[i];
}
- 运用sort函数,降序排列
std::sort(a.begin(), a.end());
std::sort(a.begin(), a.end(), std::greater<int>());
- for循环输出
for (int i = 0; i < n; i++)
{
std::cout << a[i] << " ";
}