基于顺序存储结构的图书信息表的逆序存储C语言代码
时间: 2024-03-26 09:28:59 浏览: 72
以下是基于顺序存储结构的图书信息表的逆序存储的C语言代码:
```c
#include <stdio.h>
#define MAXSIZE 100 // 图书信息表的最大大小
typedef struct {
char name[20]; // 书名
char author[20]; // 作者
int price; // 价格
} Book;
typedef struct {
Book data[MAXSIZE]; // 存储图书信息的数组
int length; // 当前存储的图书数量
} SqList;
// 初始化操作
void InitList(SqList *L) {
L->length = 0;
}
// 插入操作
void ListInsert(SqList *L, Book b) {
if (L->length == MAXSIZE) {
printf("存储空间已满,无法插入!");
return;
}
L->data[L->length] = b;
L->length++;
}
// 逆序输出操作
void ListReversePrint(SqList *L) {
for (int i = L->length - 1; i >= 0; i--) {
printf("%s %s %d\n", L->data[i].name, L->data[i].author, L->data[i].price);
}
}
int main() {
SqList L;
InitList(&L);
Book b1 = {"C语言程序设计", "谭浩强", 35};
Book b2 = {"Java核心技术", "Cay S. Horstmann", 89};
Book b3 = {"Python机器学习基础", "周志华", 45};
ListInsert(&L, b1);
ListInsert(&L, b2);
ListInsert(&L, b3);
ListReversePrint(&L);
return 0;
}
```
阅读全文