单链表介绍
MemberNode类
class MemberNode {
private int id;
private String name;
private String info;
private MemberNode next;
public MemberNode(int id, String name, String info) {
this.id = id;
this.name = name;
this.info = info;
this.next = null;
}
public MemberNode(MemberNode node) {
this.id = node.getId();
this.name = node.getName();
this.info = node.getInfo();
this.next = null;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public MemberNode getNext() {
return next;
}
public void setNext(MemberNode next) {
this.next = next;
}
@Override
public String toString() {
return "MemberNode{" +
"id=" + id +
", name='" + name + '\'' +
", info='" + info + '\'' +
'}';
}
}
SingleLinkedList类
public class SingleLinkedList {
private MemberNode head = new MemberNode(0, null, null);
public void add(MemberNode memberNode) {
MemberNode h = head;
while (h.getNext() != null) {
h = h.getNext();
}
h.setNext(memberNode);
System.out.println("添加成功");
list();
}
public void addById(MemberNode memberNode) {
MemberNode h = head;
while (h.getNext() != null) {
if (h.getNext().getId() < memberNode.getId()) {
h = h.getNext();
continue;
} else if (h.getNext().getId() == memberNode.getId()) {
System.out.println("添加失败,已有该成员!");
return;
}
break;
}
memberNode.setNext(h.getNext());
h.setNext(memberNode);
System.out.println("添加成功");
list();
}
public void update(MemberNode memberNode) {
MemberNode h = head;
while (h.getNext() != null) {
if (h.getNext().getId() != memberNode.getId()) {
h = h.getNext();
continue;
} else if (h.getNext().getId() == memberNode.getId()) {
h.getNext().setInfo(memberNode.getInfo());
System.out.println("修改成功");
list();
return;
}
}
System.out.println("修改失败,未找到该成员!");
}
public void del(int id) {
MemberNode h = head;
while (h.getNext() != null) {
if (h.getNext().getId() != id) {
h = h.getNext();
continue;
} else if (h.getNext().getId() == id) {
h.setNext(h.getNext().getNext());
System.out.println("删除成功");
list();
return;
}
}
System.out.println("删除失败,未找到该成员!");