题目描述
给定一个长度为n的数组a以及两个整数 l 和 r,请你编写一个函数,void sort(int a[], int l, int r),将a[l] ~ a[r]从小到大排序。
输出排好序的数组a。
输入格式
第一行包含三个整数n,l,r。
第二行包含n个整数,表示数组a。
输出格式
共一行,包含n个整数,表示排序完成后的数组a。
数据范围
0≤l≤r<n≤1000
样例
输入样例:
5 2 4
4 5 1 3 2
输出样例:
4 5 1 2 3
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int a[1005], n, b, e;
int main()
{
scanf("%d%d%d", &n, &b, &e); //输入
for (int i = 0; i <= n - 1; i++)
cin >> a[i];
sort(a + b, a + e + 1); //数组下标从0开始,根据sort函数“左闭右开”原则,第一个条件表达式为“a + b”, 第二个为“a + e + 1”
for (int i = 0; i <= n - 1; i++)
cout << a[i] << " ";
return 0;
}
看到的客官点个赞再走呗