C语言编写函数将长度为N的数组从指定位置m开始的n个数逆置
时间: 2024-01-27 19:03:10 浏览: 106
将一个数组逆置的C++实现
下面是一个例子,用C语言编写一个将长度为N的数组从指定位置m开始的n个数逆置的函数:
```c
void reverse(int arr[], int N, int m, int n) {
// 如果要翻转的元素个数为0或1,则直接返回
if (n <= 1) {
return;
}
// 如果要翻转的元素个数大于数组长度,则翻转整个数组
if (n >= N) {
n = N;
m = 0;
}
// 如果要翻转的起始位置超出数组范围,则什么也不做
if (m >= N) {
return;
}
// 如果要翻转的终止位置超出数组范围,则将终止位置设置为数组末尾
if (m + n > N) {
n = N - m;
}
// 对数组进行翻转
for (int i = 0; i < n / 2; i++) {
int temp = arr[m + i];
arr[m + i] = arr[m + n - i - 1];
arr[m + n - i - 1] = temp;
}
}
```
这个函数接受四个参数:数组 `arr`,数组长度 `N`,翻转起始位置 `m`,以及要翻转的元素个数 `n`。它会检查参数是否合法,然后对数组进行翻转操作。
阅读全文