运用c语言的数据结构来完成已知长度为n的线性表A采用顺序存储结构,设计一个算法,使得该线性表中的数据元素按逆序重新排列的程序
时间: 2024-09-26 08:10:49 浏览: 9
在C语言中,如果要对长度为n的顺序存储(如数组)线性表A进行逆序排列,可以使用两层循环结构。这里提供一个简单的冒泡排序算法作为示例,它适用于小规模的逆序操作:
```c
#include <stdio.h>
void reverseArray(int arr[], int n) {
// 从第一个元素开始,到最后一个元素
for (int i = 0; i < n / 2; i++) {
// 每次比较和交换相邻的两个元素
int temp = arr[i]; // 临时存储较小元素
arr[i] = arr[n - 1 - i]; // 将较大的元素移动到前面
arr[n - 1 - i] = temp; // 将临时存储的较小元素放到正确的位置
}
}
// 测试函数
int main() {
int A[5] = {1, 2, 3, 4, 5}; // 假设我们有一个长度为5的线性表
int n = sizeof(A) / sizeof(A[0]);
printf("原始数组: ");
for (int i = 0; i < n; i++)
printf("%d ", A[i]);
reverseArray(A, n);
printf("\n逆序后的数组: ");
for (int i = 0; i < n; i++)
printf("%d ", A[i]);
return 0;
}
```