From 4f3d168f2618be6ccd9b14e28f54801c9c51058a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=B0=91=E6=B7=B3?= <1422034613@qq.com> Date: Mon, 7 Dec 2020 18:21:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linklist/LinkList.java | 60 ++++++++++++++++++++++++++++++++++++++++++ linklist/Node.java | 38 ++++++++++++++++++++++++++ linklist/TryToRun.java | 12 +++++++++ 3 files changed, 110 insertions(+) create mode 100644 linklist/LinkList.java create mode 100644 linklist/Node.java create mode 100644 linklist/TryToRun.java diff --git a/linklist/LinkList.java b/linklist/LinkList.java new file mode 100644 index 0000000..d700f55 --- /dev/null +++ b/linklist/LinkList.java @@ -0,0 +1,60 @@ +package datastruct.linklist; + +public class LinkList { + + private Node head; + + public void addToRear(Object data){ + Node node = new Node(data); + Node head = this.head; + while (true){ + if (head.getNext()==null){ + head.setNext(node); + System.out.println("尾部添加:" + head.toString()); + return; + } + head = head.getNext(); + } + } + + public void addToFront(Object data){ + Node node = new Node(data); + node.setNext(this.head); + this.head = node; + System.out.println("头部添加:" + head.toString()); + return; + } + + public void removeItem(Object object){ + Node head = this.head; + if (head.getData().equals(object)){ + this.head = head.getNext(); + System.out.println("已删除:" + head.toString()); + return; + } + while (true){ + if (head.getNext().getData().equals(object)){ + System.out.println("已删除:" + head.getNext()); + head.setNext(head.getNext().getNext()); + return; + } + head = head.getNext(); + } + } + + public LinkList(Object data) { + this.head = new Node(data); + } + + @Override + public String toString(){ + Node head = this.head; + StringBuilder printStr = new StringBuilder("链表:"); + while (head!=null){ + printStr.append(head.getData().toString()); + printStr.append(" --> "); + head = head.getNext(); + } + return printStr.toString(); + } +} diff --git a/linklist/Node.java b/linklist/Node.java new file mode 100644 index 0000000..2b0e955 --- /dev/null +++ b/linklist/Node.java @@ -0,0 +1,38 @@ +package datastruct.linklist; + +public class Node { + private Object data; + private Node next; + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public Node getNext() { + return next; + } + + public void setNext(Node next) { + this.next = next; + } + + public Node(Object data) { + this.data = data; + } + + public Node(Object data, Node next) { + this.data = data; + this.next = next; + } + + @Override + public String toString() { + return "Node{" + + "data=" + data + + '}'; + } +} diff --git a/linklist/TryToRun.java b/linklist/TryToRun.java new file mode 100644 index 0000000..6a46c32 --- /dev/null +++ b/linklist/TryToRun.java @@ -0,0 +1,12 @@ +package datastruct.linklist; + +public class TryToRun { + public static void main(String[] args) { + //没有多次测试,若有问题及时反馈 + LinkList linkList = new LinkList("a"); + linkList.addToRear("b"); + linkList.addToRear("b"); + linkList.addToRear("b"); + System.out.println(linkList.toString()); + } +} -- Gitee