数据结构图书馆管理c语言实现
时间: 2024-12-23 18:11:21 浏览: 9
在C语言中实现数据结构用于图书管理系统,通常会涉及到一些基本的数据结构如链表、数组、队列或堆栈,以及它们的组合应用。这里可以举一个简单的例子,比如使用链表存储书籍信息,包括书名、作者、索引等。
```c
// 定义书籍结构体
typedef struct Book {
char title[50];
char author[50];
int index;
} Book;
// 链表节点
typedef struct Node {
Book book;
struct Node* next;
} Node;
// 创建链表头部
Node* library_head = NULL;
// 添加新书
void add_book(Node** head, Book new_book) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->book = new_book;
newNode->next = *head;
*head = newNode;
}
// 搜索特定书名
Book* search_by_title(Node* head, const char* title) {
for (Node* node = head; node != NULL; node = node->next) {
if (strcmp(node->book.title, title) == 0) {
return &node->book;
}
}
return NULL;
}
// 删除一本书
void delete_book(Node** head, const char* title) {
Node* current = *head;
Node* previous = NULL;
while (current != NULL && strcmp(current->book.title, title) != 0) {
previous = current;
current = current->next;
}
if (current != NULL) {
if (previous == NULL) {
*head = current->next;
} else {
previous->next = current->next;
}
free(current);
}
}
阅读全文