[sort排序] 7. 交叉排序(自定义排序、常规解法)

1. 题目来源

链接:交叉排序

2. 题目说明

在这里插入图片描述

3. 题目解析

方法一:sort()+自定义排序+常规解法

题意很明确,就是一个区间段的排序,注意把握好边界即可。

参见代码如下:

#include <iostream>
#include <algorithm>

using namespace std;

bool cmp(int a, int b) {
	return a > b;
}

int main() {
	int n, l1, r1, l2, r2, num[10005] = {0};
	cin >> n >> l1 >> r1 >> l2 >> r2;
	for (int i = 0; i < n; ++i) {
		cin >> num[i];
	}
	sort(num + l1 - 1, num + r1);
	sort(num + l2 - 1, num + r2, cmp);
	for (int i = 0; i < n; ++i) {
		if (i) {
			cout << " ";
		}
		cout << num[i];
	}

	return 0;
}
发布了391 篇原创文章 · 获赞 329 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yl_puyu/article/details/105002797
今日推荐