解析
题意非常易懂,就是给定两个区间,对区间内所有元素进行排序。强调sort的使用 sort(起始位置,结束位置的后一个,排序规则(没有默认升序))。
代码
#include<bits/stdc++.h> using namespace std; int N,l1,r1,l2,r2; int num[100005]; bool cmp(int a,int b) { return a>b;//大的数在前面 } int main() { cin>>N>>l1>>r1>>l2>>r2; for(int i=1;i<=N;i++) { cin>>num[i]; } sort(num+l1,num+r1+1);//默认升序排列 sort(num+l2,num+r2+1,cmp); for(int i=1;i<=N;i++) { if(i==1) cout<<num[i]; else cout<<" "<<num[i]; } cout<<endl; }
最后注意数组的存储是否是由下标零开始。
数组的赋值
例子
a[3]={0,1,2};
3表示数组中有三个元素。下标从零开始。