编写C语言程序将顺序表逆制
时间: 2024-09-28 21:17:16 浏览: 0
在C语言中,要编写一个函数来反转顺序表(也称为数组),可以创建一个新的函数,它接受数组的指针、大小以及指向新逆序后的数组的指针。这里提供一个简单的示例:
```c
#include <stdio.h>
// 函数声明
void reverse(int arr[], int size, int reversed[], int reversed_size);
// 主函数
int main() {
int original[] = {1, 2, 3, 4, 5};
int reversed[5]; // 新数组用于存储逆序结果
int original_size = sizeof(original) / sizeof(original[0]);
int reversed_size = sizeof(reversed) / sizeof(reversed[0]);
printf("Original array: ");
for (int i = 0; i < original_size; i++) {
printf("%d ", original[i]);
}
reverse(original, original_size, reversed, reversed_size);
printf("\nReversed array: ");
for (int i = 0; i < reversed_size; i++) {
printf("%d ", reversed[i]); // 注意这里的索引是reversed_size - 1,因为数组从0开始计数
}
return 0;
}
// 实现反转函数
void reverse(int arr[], int size, int reversed[], int reversed_size) {
int start = 0;
int end = size - 1;
while (start < end) {
// 交换元素
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 更新索引
start++;
end--;
}
}
```
在这个例子中,`reverse()`函数通过两个指针`start`和`end`分别从数组的首尾开始,每次迭代都将对应的元素交换位置,直到两者相遇。