sort (first, last) 对容器或普通数组中 [first, last) 范围内的元素进行排序,默认进行升序排序。
sort() 函数是基于快速排序实现的
sort() 只对 array、vector、deque 这 3 个容器提供支持
默认升序排序
对于指定区域内值相等的元素,sort() 函数无法保证它们的相对位置不发生改变。如果需要保证值相等元素的相对位置不发生改变,可以选用 stable_sort() 排序函数。
sort() 函数位于头文件中
#include <algorithm>
升序:sort(begin,end,less());
降序:sort(begin,end,greater()).
sort(a,a+20,greater<int>());
sort(a,a+6,less<int>());
第二题:数组重排
输入描述
第一行输入一个正整数n。
第二行输入n个正整数ai。
第三行输入n个正整数bi
1<n≤ 105
1<ai,bi ≤109
输出描述
n个正整数,代表重排后的a数组。如果有多个重排方式,输出任意即可。
示例1
输入
4
2 1 3 2
5 2 4 2
输出
5
C++代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n;
cin >> n;
int a[n];
int b[n];
for(int i = 0;i < n;i ++){
cin >> a[i];
}
for(int i = 0;i < n;i ++){
cin >> b[i];
}
sort(a,a+n);
sort(b,b+n);
int sum = 0;
int temp = 0;
for(int i = 0;i < n;i ++){
temp = a[i] - b[i];
if(temp < 0){
temp = -temp;
}
sum += temp;
}
cout << sum;
return 0;
}