设计C语言数据结构算法,逆置长度为N的顺序表。
时间: 2024-09-14 21:11:43 浏览: 54
设计一个C语言数据结构算法来逆置长度为N的顺序表,可以通过交换顺序表两端的元素,逐步向中间靠拢的方式来实现。以下是一个简单的示例代码:
```c
#include <stdio.h>
// 函数声明,用于逆置顺序表
void reverseArray(int arr[], int N);
int main() {
// 示例:定义一个顺序表并初始化
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int N = sizeof(arr) / sizeof(arr[0]); // 计算顺序表的长度
// 打印原始顺序表
printf("原始顺序表: ");
for (int i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 调用逆置函数
reverseArray(arr, N);
// 打印逆置后的顺序表
printf("逆置后的顺序表: ");
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`作为参数,然后通过一个简单的循环和临时变量`temp`来交换数组两端的元素,直到达到数组的中间位置。
阅读全文