已知长度为n的线性表A采用顺序存储结构,设计一个算法,使得该线性表中的数据元素按逆序重新排列 请写一份代码C语言
时间: 2024-09-28 07:07:53 浏览: 50
线性表的链式存储结构..
5星 · 资源好评率100%
为了实现这个功能,我们可以编写一个简单的C语言函数,通过双指针技巧来遍历线性表,并交换相邻的元素以达到逆序排列的效果。这里是一个基本的示例:
```c
#include <stdio.h>
void reverseArray(int A[], int n) {
// 使用两个指针 i 和 j 分别从两端开始向中间移动
int i = 0;
int j = n - 1;
while (i < j) {
// 交换 A[i] 和 A[j]
int temp = A[i];
A[i] = A[j];
A[j] = temp;
// 移动指针
i++;
j--;
}
}
// 示例数组
int main() {
int A[] = {1, 2, 3, 4, 5};
int n = sizeof(A) / sizeof(A[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", A[i]);
}
reverseArray(A, n);
printf("\nReversed array: ");
for (int i = 0; i < n; i++) {
printf("%d ", A[i]);
}
return 0;
}
```
当你运行这段代码时,它会打印出原数组和逆序后的数组。
阅读全文