From 62a2a48dbf686dd94149af83f1f301a2f05a05ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=B9=E6=AD=A3?= <719351071@qq.com> Date: Fri, 30 Oct 2020 15:30:13 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=93=BE=E8=A1=A8=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LinkList1.java | 86 +++++++++++++++++++++++++++++++++++++++++ LinkList2.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ LinkList3.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++ MyMain.java | 40 +++++++++++++++++++ MyNode.java | 10 +++++ 5 files changed, 339 insertions(+) create mode 100644 LinkList1.java create mode 100644 LinkList2.java create mode 100644 LinkList3.java create mode 100644 MyMain.java create mode 100644 MyNode.java diff --git a/LinkList1.java b/LinkList1.java new file mode 100644 index 0000000..c5087c3 --- /dev/null +++ b/LinkList1.java @@ -0,0 +1,86 @@ +package com.company; + +public class LinkList1 { + public MyNode headnode; + + public LinkList1() { + this.headnode = null; + } + + public void addToFront(E value) { + if (headnode == null) { + this.headnode = new MyNode(value); + } else { + MyNode step = headnode; + step.next = headnode.next; + this.headnode = new MyNode(value); + this.headnode.next = step; + } + } + + public void addToRear(E value) { + if (headnode == null) { + this.headnode = new MyNode(value); + } else { + MyNode node = headnode; + while (node.next != null) { + node = node.next; + } + node.next = new MyNode(value); + } + } + + public void printItems() { + MyNode node = this.headnode; + if (node == null) { + System.out.println("soory,No String"); + } else { + while (node != null) { + System.out.printf(node.item + "->"); + node = node.next; + } + } + } + + public void deleteItems(String value) { + MyNode node = headnode; + if (node != null) { + if (node.item.equals(value)) { + headnode = node.next; + return; + } else { + while (node.next != null) { + if (node.next.item.equals(value)) { + node.next = node.next.next; + return; + } + node = node.next; + } + } + } + } + + public boolean findItem(String value) { + MyNode node = headnode; + while (node != null) { + if (node.item.equals(value)) { + return true; + } else { + node = node.next; + } + } + return false; + } + + public void size() { + int num = 0; + MyNode node = headnode; + while (node != null) { + num++; + node = node.next; + } + System.out.println("链表长度为:" + num); + } +} + + diff --git a/LinkList2.java b/LinkList2.java new file mode 100644 index 0000000..72eee86 --- /dev/null +++ b/LinkList2.java @@ -0,0 +1,101 @@ +package com.company; + +public class LinkList2 { + public MyNode head; + public MyNode tail; + + + public LinkList2() { + this.head = null; + this.tail = null; + + } + + public void addToFront(E value) { + if (head == null) { + this.head = new MyNode(value); + this.tail = head; + } else { + MyNode step = head; + step.next = head.next; + this.head = new MyNode(value); + this.head.next = step; + } + } + + public void addToRear(E value) { + if (head == null) { + this.head = new MyNode(value); + this.tail = head; + } else { + /*第一种方法*/ +// MyNode node = head; +// while (node.next != null) { +// node = node.next; +// } +// node.next = new MyNode(value); +// tail = node.next; + /*第二种方法*/ + MyNode node = this.tail; + node.next = new MyNode(value); + tail = node.next; + } + } + + public void printItems() { + MyNode node = this.head; + if (node == null) { + System.out.println("soory,No String"); + } else { + while (node != null) { + System.out.printf(node.item + "->"); + node = node.next; + } + } + } + + public void deleteItems(String value) { + MyNode node = head; + if (node != null) { + if (node.item.equals(value)) { + head = node.next; + return; + } else { + while (node.next != null) { + if (node.next.item.equals(value)) { + if (node.next.next == null) { + this.tail = node; + } + node.next = node.next.next; + return; + } + node = node.next; + } + } + } + } + + public boolean findItem(String value) { + MyNode node = head; + while (node != null) { + if (node.item.equals(value)) { + return true; + } else { + node = node.next; + } + } + return false; + } + + public void size() { + int num = 0; + MyNode node = head; + while (node != null) { + num++; + node = node.next; + } + System.out.println("链表长度为:" + num); + } +} + + diff --git a/LinkList3.java b/LinkList3.java new file mode 100644 index 0000000..512000e --- /dev/null +++ b/LinkList3.java @@ -0,0 +1,102 @@ +package com.company; + +public class LinkList3 { + public MyNode headnode; + + public LinkList3() { + this.headnode = null; + } + + public void addToFront(E value) { + if (headnode == null) { + this.headnode = new MyNode(value); + headnode.prev = null; + headnode.next = null; + } else { + MyNode temp = headnode; + MyNode newnode = new MyNode(value); + temp.prev = newnode; + newnode.next = temp; + headnode = newnode; + } + } + + public void addToRear(E value) { + MyNode newnode = new MyNode(value); + if (headnode == null) { + this.headnode = new MyNode(value); + headnode.next = null; + headnode.prev = null; + } else { + MyNode node = headnode; + while (node.next != null) { + node = node.next; + } + node.next = newnode; + node.next.prev = node; + } + } + + public void printItems() { + MyNode node = this.headnode; + if (node == null) { + System.out.println("soory,No String"); + } else { + while (node != null) { + System.out.printf(node.item + "->"); + node = node.next; + } + } + } + + public void deleteItems(String value) { + MyNode node = headnode; + if (node != null) { + if (node.item.equals(value)) { + node = node.next; + node.prev = null; + headnode = node; + return; + } + node = node.next; + while (node != null) { + if (node.item.equals(value) && node.next != null) { + MyNode myNode = node.next; + myNode.prev = node.prev; + node.prev.next = myNode; + return; + } else if (node.item.equals(value) && node.next == null) { + node.prev.next = null; + return; + } else { + node = node.next; + } + } + System.out.println("元素不在链表中"); + } + } + + public boolean findItem(String value) { + MyNode node = headnode; + while (node != null) { + if (node.item.equals(value)) { + return true; + } else { + node = node.next; + } + } + return false; + } + + public void size() { + int num = 0; + MyNode node = headnode; + while (node != null) { + num++; + node = node.next; + } + System.out.println("链表长度为:" + num); + } +} + + diff --git a/MyMain.java b/MyMain.java new file mode 100644 index 0000000..1726740 --- /dev/null +++ b/MyMain.java @@ -0,0 +1,40 @@ +package com.company; + + +public class MyMain { + public static void main(String[] args) { + /*作业1*/ + LinkList1 lIst1Link = new LinkList1<>(); + lIst1Link.addToRear("a"); + lIst1Link.addToRear("b"); + lIst1Link.addToFront("c"); + lIst1Link.addToRear("d"); + lIst1Link.deleteItems("d"); + System.out.println(lIst1Link.findItem("b")); + lIst1Link.size(); + lIst1Link.printItems(); + + /*作业2*/ + LinkList2 linkList2 = new LinkList2<>(); + linkList2.addToRear("c"); + linkList2.addToFront("a"); + linkList2.addToFront("b"); + linkList2.printItems(); + linkList2.deleteItems("c"); + linkList2.size(); + System.out.println(linkList2.findItem("a")); + + /*作业3*/ + LinkList3 linkList3 = new LinkList3(); + linkList3.addToFront("b"); + linkList3.addToFront("a"); + linkList3.addToRear("d"); + linkList3.addToRear("p"); + linkList3.printItems(); + System.out.println('\n'); + linkList3.deleteItems("d"); + System.out.println(linkList3.findItem("2")); + linkList3.printItems(); + linkList3.size(); + } +} diff --git a/MyNode.java b/MyNode.java new file mode 100644 index 0000000..ef6948c --- /dev/null +++ b/MyNode.java @@ -0,0 +1,10 @@ +package com.company; + +public class MyNode { + E item; + MyNode next=null; + public MyNode prev; + public MyNode(E item) { + this.item = item; + } +} -- Gitee From 0a36e987a9b236ec0ed86cde821e23c162643741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=B9=E6=AD=A3?= <719351071@qq.com> Date: Mon, 2 Nov 2020 16:23:33 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 +++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ demo.java | 0 lec02-linkedlist.iml | 11 +++++++++++ 6 files changed, 34 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 demo.java create mode 100644 lec02-linkedlist.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..e208459 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..a9a967e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/demo.java b/demo.java new file mode 100644 index 0000000..e69de29 diff --git a/lec02-linkedlist.iml b/lec02-linkedlist.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/lec02-linkedlist.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file -- Gitee From 76fecc1851d88b17279ec65685862c3dc71fbebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=B9=E6=AD=A3?= <719351071@qq.com> Date: Mon, 2 Nov 2020 16:28:40 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Node.java | 8 -------- demo.java => demo1.java | 0 2 files changed, 8 deletions(-) delete mode 100644 Node.java rename demo.java => demo1.java (100%) diff --git a/Node.java b/Node.java deleted file mode 100644 index ed7a352..0000000 --- a/Node.java +++ /dev/null @@ -1,8 +0,0 @@ -public class Node { - E item; - Node next = null; - - Node(E item) { - this.item = item; - } -} \ No newline at end of file diff --git a/demo.java b/demo1.java similarity index 100% rename from demo.java rename to demo1.java -- Gitee From 076db212afc702e2f19314778467f69e9b589231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=B9=E6=AD=A3?= <719351071@qq.com> Date: Mon, 2 Nov 2020 16:30:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo1.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 demo1.java diff --git a/demo1.java b/demo1.java deleted file mode 100644 index e69de29..0000000 -- Gitee