c语言实现的图书管理系统排序
时间: 2024-09-23 11:09:14 浏览: 40
在C语言中实现图书管理系统的排序功能,通常会涉及数据结构和算法的选择。假设我们有一个包含书籍信息(如书名、作者等)的结构体数组,常见的排序方法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。
下面是一个简单的例子,展示如何使用冒泡排序对图书名称进行排序:
```c
#include <stdio.h>
#include <string.h>
// 定义图书结构体
typedef struct {
char title[100];
char author[50];
} Book;
// 冒泡排序函数
void bubbleSort(Book books[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (strcmp(books[j].title, books[j + 1].title) > 0) {
// 交换元素
char temp_title[100], temp_author[50];
strcpy(temp_title, books[j].title);
strcpy(temp_author, books[j].author);
strcpy(books[j].title, books[j + 1].title);
strcpy(books[j].author, books[j + 1].author);
strcpy(books[j + 1].title, temp_title);
strcpy(books[j + 1].author, temp_author);
}
}
}
}
// 主函数示例
int main() {
Book books[] = {{"红楼梦", "曹雪芹"}, {"西游记", "吴承恩"}, {"水浒传", "施耐庵"}};
int n = sizeof(books) / sizeof(books[0]);
printf("未排序前:\n");
for (int i = 0; i < n; i++) {
printf("%s by %s\n", books[i].title, books[i].author);
}
bubbleSort(books, n);
printf("\n排序后:\n");
for (int i = 0; i < n; i++) {
printf("%s by %s\n", books[i].title, books[i].author);
}
return 0;
}
阅读全文