描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序
数据范围: 1 \le n \le 1000 \1≤n≤1000 ,元素大小满足 0 \le val \le 100000 \0≤val≤100000
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述:
输出排好序的数字
示例1
输入:
8 1 2 4 9 3 55 64 25 0
复制输出:
1 2 3 4 9 25 55 64
复制
示例2
输入:
5 1 2 3 4 5 1
复制输出:
5 4 3 2 1
代码:C++
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
/*
int n,flag;
cin>>n;
int num_n[n];
for (int i=0;i<n;i++)
{
cin>>num_n[i];
}
cin>>flag;
if(flag)//降序
{
sort(num_n,num_n+n,cmp2);
}
else
{
sort(num_n,num_n+n,cmp1);
}
for (int i =0;i<n-1;i++)
{
cout<<num_n[i]<<' ';
}
cout<<num_n[n-1]<<endl;
*/
//方法2,容器
int n;
while(cin>>n)
{
vector <int> array(n);
for (int i=0;i<n;i++)
{
cin>>array[i];
}
int flag;
cin>>flag;
sort(array.begin(),array.end());
if (1==flag)
{
reverse(array.begin(),array.end());
}
for(int i=0; i< array.size()-1;i++)
{
cout<<array[i]<<" ";
}
cout<<array[n-1]<<endl;
}
}
python
n = int(input())
li = list(map(int, input().split()))
flag = int(input())
if 0 == flag:#升序
li.sort()
else:
li.sort(reverse=True)#降序
#方法1
# print(' '.join(map(str, li)))
#方法2
print(*li)