实现顺序表的逆置(用c语言编程)
时间: 2024-06-12 22:08:27 浏览: 191
使用C语言编写一个实现顺序表逆置的算法可以按照以下步骤进行:
1. 定义一个顺序表结构体,包括一个指向整型数组的指针elem,以及顺序表的长度length和容量listsize。
2. 初始化顺序表,为elem分配内存空间。
3. 通过循环依次输入顺序表的元素。
4. 实现逆置算法,通过一个循环将顺序表中的元素按照倒序重新排列。
5. 输出逆置后的顺序表元素。
下面是一个示例代码,实现了顺序表的逆置:
```
#include <stdio.h>
#include <malloc.h>
#define LIST_INIT_SIZE 100
typedef struct {
int *elem;
int length;
int listsize;
} sqlist;
void Reverse(sqlist *L) {
int i;
for (i = 0; i < L->length / 2; i++) {
int temp = L->elem[i];
L->elem[i] = L->elem[L->length - 1 - i];
L->elem[L->length - 1 - i] = temp;
}
}
int InitList(sqlist *L) {
L->elem = (int *)malloc(LIST_INIT_SIZE * sizeof(int));
if (!L->elem)
return 0;
L->listsize = LIST_INIT_SIZE;
return 1;
}
int main() {
sqlist L;
int i;
scanf("%d", &L.length);
if (L.length != 0) {
InitList(&L);
for (i = 0; i < L.length; i++) {
scanf("%d", &L.elem[i]);
}
Reverse(&L);
for (i = 0; i < L.length; i++) {
printf("%d ", L.elem[i]);
}
} else {
printf("Empty");
}
return 0;
}
```
阅读全文