• 大小: 98KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Java
  • 标签: 二叉树  Java  

资源简介

基于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


评论

共有 条评论