c语言动态顺序表元素逆置
时间: 2023-05-30 12:05:25 浏览: 129
以下是C语言动态顺序表元素逆置的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义最大元素个数
typedef struct {
int *data; // 动态数组指针
int length; // 当前元素个数
int size; // 数组容量
} SeqList;
// 初始化动态数组
void InitList(SeqList *L) {
L->data = (int *)malloc(MAXSIZE * sizeof(int)); // 动态分配数组空间
if (L->data == NULL) {
printf("数组空间分配失败!\n");
exit(1);
}
L->length = 0; // 初始元素个数为0
L->size = MAXSIZE; // 数组容量为MAXSIZE
}
// 逆置动态数组元素
void ReverseList(SeqList *L) {
int i, temp;
for (i = 0; i < L->length / 2; i++) {
temp = L->data[i];
L->data[i] = L->data[L->length - 1 - i];
L->data[L->length - 1 - i] = temp;
}
}
// 打印动态数组元素
void PrintList(SeqList L) {
int i;
for (i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
}
int main() {
SeqList L;
InitList(&L);
// 向动态数组中插入元素
int i;
for (i = 1; i <= 10; i++) {
L.data[i - 1] = i;
L.length++;
}
printf("逆置前的动态数组元素为:\n");
PrintList(L);
ReverseList(&L);
printf("逆置后的动态数组元素为:\n");
PrintList(L);
return 0;
}
```
以上代码中,InitList()函数用于初始化动态数组,ReverseList()函数用于逆置动态数组元素,PrintList()函数用于打印动态数组元素。在main函数中,先初始化动态数组,然后向其中插入元素。接着打印逆置前的动态数组元素,调用ReverseList()函数逆置动态数组元素,再打印逆置后的动态数组元素。
阅读全文