用单链表实现图书信息管理系统
时间: 2023-05-29 12:07:09 浏览: 341
单链表可以用来实现图书信息管理系统,每个节点表示一本书的信息。可以定义一个Book类来表示一本书的信息,包括书名、作者、出版社、出版日期、ISBN号等属性。
定义一个节点类Node,包含一个Book对象和一个指向下一个节点的指针。
定义一个LinkedList类,包含一个指向头节点的指针和一些方法来操作链表,如添加节点、删除节点、查找节点等。同时,也可以定义一些方法来实现图书信息的管理,如添加图书、删除图书、修改图书信息、查找图书信息等。
以下是示例代码:
```
class Book{
private String name;
private String author;
private String publisher;
private String publishDate;
private String ISBN;
// 构造函数、getters和setters方法省略
}
class Node{
private Book book;
private Node next;
// 构造函数、getters和setters方法省略
}
class LinkedList{
private Node head;
// 添加节点
public void addNode(Book book){
Node newNode = new Node(book);
if(head == null){
head = newNode;
}else{
Node current = head;
while(current.getNext() != null){
current = current.getNext();
}
current.setNext(newNode);
}
}
// 删除节点
public void deleteNode(Book book){
if(head == null){
return;
}
if(head.getBook().equals(book)){
head = head.getNext();
return;
}
Node current = head;
while(current.getNext() != null){
if(current.getNext().getBook().equals(book)){
current.setNext(current.getNext().getNext());
return;
}
current = current.getNext();
}
}
// 查找节点
public Node findNode(Book book){
Node current = head;
while(current != null){
if(current.getBook().equals(book)){
return current;
}
current = current.getNext();
}
return null;
}
// 添加图书
public void addBook(Book book){
addNode(book);
}
// 删除图书
public void deleteBook(Book book){
deleteNode(book);
}
// 修改图书信息
public void updateBook(Book oldBook, Book newBook){
Node node = findNode(oldBook);
if(node != null){
node.setBook(newBook);
}
}
// 查找图书信息
public Book findBook(Book book){
Node node = findNode(book);
if(node != null){
return node.getBook();
}
return null;
}
}
```
阅读全文