顺序表就地逆置C语言
时间: 2024-11-23 13:30:02 浏览: 31
在C语言中,顺序表(也称为数组或线性表)就地逆置意味着我们不需要额外的空间,只需要对原数组内的元素进行操作,将整个列表从头到尾或者从尾到头反转过来。下面是一个简单的示例,展示如何通过遍历和交换元素实现顺序表的就地逆置:
```c
#include <stdio.h>
// 函数声明,用于就地逆置顺序表
void reverse_array(int arr[], int size);
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int length = sizeof(numbers) / sizeof(numbers[0]);
printf("Original array: ");
for (int i = 0; i < length; i++) {
printf("%d ", numbers[i]);
}
// 逆置数组
reverse_array(numbers, length);
printf("\nReversed array: ");
for (int i = 0; i < length; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
// 反转函数
void reverse_array(int arr[], int size) {
int start = 0, end = size - 1;
while (start < end) {
// 交换 start 和 end 位置的元素
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 更新边界
start++;
end--;
}
}
```
在这个例子中,`reverse_array`函数接受一个整数数组和它的大小作为参数,然后通过两个指针,一个指向数组开始,另一个指向结束,每次循环都将这两个位置的元素互换,直到它们相遇为止。
阅读全文
相关推荐















