在Java中实现单链表
在本文中,我们将看到如何在Java中实现单链表。
它是最常用的数据结构之一。在单链列表中,Node具有数据和指向下一个节点的指针。它没有指向上一个节点的指针。最后一个节点‘s 下一页指向null,因此您可以使用此条件遍历链接列表。
链表的节点可以显示如下:
让我们创建名为LinkedListMain.java的Main类来创建LinkedList。
当您运行上述程序时,将获得以下输出:
它是最常用的数据结构之一。在单链列表中,Node具有数据和指向下一个节点的指针。它没有指向上一个节点的指针。最后一个节点‘s 下一页指向null,因此您可以使用此条件遍历链接列表。
链表的节点可以显示如下:
1 2 3 4 5 6 7 8 9 10 |
类 节点 { 上市 整型 数据; 上市 节点 下一页; 上市 虚空 displayNodeData() { 系统.出.打印(“ {” + 数据 + “}”); } } |
链接列表的示例:
让 ’在Java中实现链表。
创建一个名为的Java文件 单链表.java.
单链表.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
包 组织.Arpit.爪哇2blog; 类 节点 { 上市 整型 数据; 上市 节点 下一页; 上市 虚空 displayNodeData() { 系统.出.打印(“ {” + 数据 + “}”); } } 上市 类 单链表 { 私人的 节点 头; 上市 布尔值 是空的() { 返回 (头 == 空值); } //用于在链接列表的开头插入节点 上市 虚空 insertFirst(整型 数据) { 节点 新Node = 新 节点(); 新Node.数据 = 数据; 新Node.下一页 = 头; 头 = 新Node; } //用于从链接列表的开头删除节点 上市 节点 deleteFirst() { 节点 温度 = 头; 头 = 头.下一页; 返回 温度; } //用于删除特定节点之后的节点 上市 虚空 deleteAfter(节点 后) { 节点 温度 = 头; 而 (温度.下一页 != 空值 && 温度.数据 != 后.数据) { 温度 = 温度.下一页; } 如果 (温度.下一页 != 空值) 温度.下一页 = 温度.下一页.下一页; } //用于在链接列表的开头插入节点 上市 虚空 insertLast(整型 数据) { 节点 当前 = 头; 而 (当前.下一页 != 空值) { 当前 = 当前.下一页; //我们将循环播放直到current.next为null } 节点 新Node = 新 节点(); 新Node.数据 = 数据; 当前.下一页 = 新Node; } //用于打印链接列表 上市 虚空 printLinkedList() { 系统.出.打印(“打印LinkedList(头-> 持续) "); 节点 当前 = 头; 而 (当前 != 空值) { 当前.displayNodeData(); 当前 = 当前.下一页; } 系统.出.打印(); } } |
让我们创建名为LinkedListMain.java的Main类来创建LinkedList。
链表Main.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
包 组织.Arpit.爪哇2blog; 上市 类 链表Main { 上市 静态的 虚空 主要(串 args[]) { 单链表 myLinkedlist = 新 单链表(); myLinkedlist.insertFirst(5); myLinkedlist.insertFirst(6); myLinkedlist.insertFirst(7); myLinkedlist.insertFirst(1); myLinkedlist.insertLast(2); //链接列表将为 // 2-> 1 -> 7 -> 6 -> 5 节点 节点=新 节点(); 节点.数据=1; myLinkedlist.deleteAfter(节点); //删除1之后的节点后,链接列表为 // 2-> 1 -> 6 -> 5 myLinkedlist.printLinkedList(); } } |
当您运行上述程序时,将获得以下输出:
1 2 3 4 5 6 7 |
列印 链表 (头 -> 持续) { 1 } { 6 } { 5 } { 2 } |
Comments
尼斯阿皮特爵士〜! ðŸ™,
先生写的精美。谢谢ðŸ™,
你好
做得好。
您在insertLast(int 数据)方法之前的评论错误。
这是Java I中链表的最佳实现’在互联网上看到过。非常感谢,清除了我所有的概念。