c语言 一到n的数组逆置 ,使用一个辅助空间
时间: 2024-09-08 16:02:53 浏览: 58
《数据结构—用C语言描述》课后习题答案.pdf
在C语言中,对一个数组进行一到n的逆置,可以通过使用一个临时变量作为辅助空间来实现。这里提供一个简单的算法步骤:
1. 首先确定数组的长度n。
2. 使用一个临时变量(通常命名为temp)用于交换元素。
3. 设置两个索引变量,一个指向数组的第一个元素(通常为0),另一个指向数组的最后一个元素(通常为n-1)。
4. 在一个循环中,交换这两个索引指向的元素,然后将这两个索引向中间移动,直到它们相遇或交错。
5. 循环结束时,数组已经逆置完成。
以下是一个简单的C语言函数实现:
```c
#include <stdio.h>
// 函数声明
void reverseArray(int arr[], int n);
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7}; // 示例数组
int n = sizeof(arr) / sizeof(arr[0]); // 计算数组长度
reverseArray(arr, n); // 调用逆置函数
// 打印逆置后的数组
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 函数定义:逆置数组
void reverseArray(int arr[], int n) {
int temp;
for (int i = 0; i < n / 2; i++) {
temp = arr[i]; // 保存当前元素
arr[i] = arr[n - 1 - i]; // 与最后一个元素交换
arr[n - 1 - i] = temp; // 再与保存的元素交换
}
}
```
这个程序定义了一个名为`reverseArray`的函数,它接受一个整数数组`arr`和数组的长度`n`作为参数,然后将数组逆置。主函数`main`中创建了一个示例数组,并调用了`reverseArray`函数进行逆置,最后打印出逆置后的数组。
阅读全文