C语言期末大作业——图书信息管理系统(C语言,单链表)
六、图书信息管理程序
-
使用链表保存图书信息,每个节点要求包含图书的编号、书名、作者、购买日期和价格信息;
-
可以对当前图书数据库进行增加、删除操作,并实现按图书编号进行查询;
-
系统完成后应实现类似下图所示界面;
-
使用链表保存图书信息:
-
图书编号;
-
图书名;
-
图书作者;
-
图书库存数量;
-
图书价格;
-
-
可对链表进行CRUD操作:
-
有Shell界面
-
使用Git管理代码;
-
推送到GitHub上开源:
-
将代码分模块开发;
-
查询功能扩展根据书名和作者查询
-
有一定的异常管理机制;
结构体标志:Node
结构体声明变量:Book
结构体成员列表:
数据名 | 数据类型 | 备注 |
---|---|---|
id | int | 图书编号 |
name | char | 图书名 |
author[20] | char | 图书作者 |
inventory | int | 图书库存量 |
price | float | 价格 |
next | Node* | 指针域 |
结构体代码:
-
时间复杂度:$$O\left( n^{2} \right)$$;
-
算法原理:
-
比较相邻的元素。如果第一个比第二个大,就交换他们两个;
-
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数;
-
针对所有的元素重复以上的步骤,除了最后一个;
-
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
-
-
时间复杂度:$$O\left( n \right)$$;
-
算法原理:对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。