资源简介
基于java的图书管理系统 , 控制台程序, 有一般图书管理系统的功能, 这个主要是数据结构的二叉树.用了二叉树作为存储结构. 里面有个名叫"演示"的文件夹,包含Jar包.直接可以运行看效果.
代码片段和文件信息
package book;
import java.util.List;
public class BinaryTree {
Node root;
//添加节点
private Node addNode(Node current bookinfo value) {
if (current == null) {
return new Node(value);
}
if (value.ID < current.data.ID) {
current.left = addNode(current.left value);
} else if (value.ID > current.data.ID) {
current.right = addNode(current.right value);
} else {
return current;
}
return current;
}
public void addNode(bookinfo value) {
root = addNode(root value);
}
//创建二叉树
public BinaryTree createBinaryTree(List bookinfos) {
BinaryTree bt = new BinaryTree();
for(bookinfo bk : bookinfos)
{
bt.addNode(bk);
}
return bt;
}
//查找一个节点
private boolean containNode(Node current bookinfo value) {
if (current == null) {
return false;
}
if (value.ID == current.data.ID) {
return true;
}
return value.ID < current.data.ID ? containNode(current.left value) : containNode(current.right value);
}
public boolean containNode(bookinfo value) {
return containNode(root value);
}
//按图书编号查找图书
private boolean findBianHao(Node current int value) {
if (current == null) {
return false;
}
if (value == current.data.ID) {
return true;
}
return value < current.data.ID ? findBianHao(current.left value) : findBianHao(current.right value);
}
public boolean findBianHao(int value) {
return findBianHao(root value);
}
//返回值是节点的查找
private object findNode(Node current int value) {
if (current == null) {
return null;
}
if (value == current.data.ID) {
return current.data;
}
return value < current.data.ID ? findNode(current.left value) : findNode(current.right value);
}
public object findNode(int value) {
return findNode(root value);
}
//按书名查找
public object findName(Node current String name) {
int i = findNameOrder(current name);
if(i == -1) return null;
else {
object obj = findNode(current i);
return obj;
}
}
//按书名查找时用到的遍历
public int findNameOrder(Node root String name) {
if (root != null) {
if(root.data.SM.equals(name))
{
return root.data.ID;
}
findNameOrder(root.left name);
findNameOrder(root.right name);
}
return -1; //没有查到书名的书
}
//按作者查找
public object findUser(Node current String user) {
int i = findUserOrder(current user);
if(i == -1) return null;
else {
object obj = findNod
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 232 2020-02-28 19:20 图书管理二叉树\.classpath
文件 380 2020-02-28 19:20 图书管理二叉树\.project
文件 4679 2020-02-29 00:11 图书管理二叉树\bin\book\BinaryTree.class
文件 8236 2020-02-29 01:34 图书管理二叉树\bin\book\Book.class
文件 2413 2020-02-28 22:50 图书管理二叉树\bin\book\bookinfo.class
文件 493 2020-02-28 20:48 图书管理二叉树\bin\book\Node.class
文件 5214 2020-02-29 00:11 图书管理二叉树\src\book\BinaryTree.java
文件 8327 2020-02-29 01:34 图书管理二叉树\src\book\Book.java
文件 1307 2020-02-28 22:50 图书管理二叉树\src\book\bookinfo.java
文件 251 2020-02-28 20:48 图书管理二叉树\src\book\Node.java
文件 101946 2020-02-28 20:33 图书管理二叉树\图书信息.csv
文件 101947 2020-02-28 20:34 图书管理二叉树\演示\book.csv
文件 8279 2020-02-29 01:34 图书管理二叉树\演示\daochu.jar
文件 28 2020-02-29 01:32 图书管理二叉树\演示\run.bat
目录 0 2020-02-28 20:46 图书管理二叉树\bin\book
目录 0 2020-02-28 20:46 图书管理二叉树\src\book
目录 0 2020-02-28 19:21 图书管理二叉树\bin
目录 0 2020-02-28 19:21 图书管理二叉树\src
目录 0 2020-02-29 01:30 图书管理二叉树\演示
目录 0 2020-02-29 01:30 图书管理二叉树
文件 101947 2020-02-28 20:34 图书管理二叉树\book.csv
----------- --------- ---------- ----- ----
345679 21
相关资源
- mongo-spark-connector_2.11-2.2.0.jar
- bouncycastle.jar
- java面板多线程发牌程序
- 百度地图API和jar包
- java简单桌面考试系统可实现倒计时、
- java代码实现填充word模板生成word合同
- 操作系统课程设计——“生产者消费
- 使用java实现Xmodem协议
- 公交管理系统java+MySQL源码及设计报告
- java实现坦克大战联机
- 钉钉企业应用Demo(Java)
- 二维码jar包
- HtmlAdaptorServer所需jar包com.sun.jdmk.comm
- JAVA实验报告(四)-李兆明.doc
- JSP技术发展史
- 直方图应用相似图片识别Java
- java开发实战经典——课后答案
- Java游戏设计(包含论文)
- java核心技术第十版源码
- 服务端接入顺丰apijava可直接运行
- javaweb电商项目视频
- Java实现Des加密不用加载包
- libsvm.jar和wlsvm.jar
- java开发汽车租赁系统
- java简单的购物车系统
- 基于javaweb的简单新闻管理系统
- 图书管理系统毕业设计+源码 - Java源码
- signapk.jar
- Java Concurrency in Practice.mobi
- java课程设计--个人电话簿增删查改排
评论
共有 条评论