当前位置:   article > 正文

Java中链表的实现(超详细)_java实现链表

java实现链表

        在Java中,链表可以通过创建节点链接节点来实现。以下是一个简单的链表实现示例:

  1. public class LinkedList {
  2. Node head; // 头结点
  3. // 节点类
  4. class Node {
  5. int data;
  6. Node next;
  7. Node(int d) {
  8. data = d;
  9. next = null;
  10. }
  11. }
  12. // 在链表头部插入节点
  13. public void push(int new_data) {
  14. Node new_node = new Node(new_data);
  15. new_node.next = head;
  16. head = new_node;
  17. }
  18. // 在链表中间插入节点
  19. public void insertAfter(Node prev_node, int new_data) {
  20. if (prev_node == null) {
  21. System.out.println("The given previous node cannot be null");
  22. return;
  23. }
  24. Node new_node = new Node(new_data);
  25. new_node.next = prev_node.next;
  26. prev_node.next = new_node;
  27. }
  28. // 在链表尾部插入节点
  29. public void append(int new_data) {
  30. Node new_node = new Node(new_data);
  31. if (head == null) {
  32. head = new Node(new_data);
  33. return;
  34. }
  35. new_node.next = null;
  36. Node last = head;
  37. while (last.next != null)
  38. last = last.next;
  39. last.next = new_node;
  40. return;
  41. }
  42. // 删除链表中的给定节点
  43. public void deleteNode(int key) {
  44. Node temp = head, prev = null;
  45. if (temp != null && temp.data == key) {
  46. head = temp.next;
  47. return;
  48. }
  49. while (temp != null && temp.data != key) {
  50. prev = temp;
  51. temp = temp.next;
  52. }
  53. if (temp == null)
  54. return;
  55. prev.next = temp.next;
  56. }
  57. // 打印链表
  58. public void printList() {
  59. Node tnode = head;
  60. while (tnode != null) {
  61. System.out.print(tnode.data + " ");
  62. tnode = tnode.next;
  63. }
  64. }
  65. // 测试
  66. public static void main(String[] args) {
  67. LinkedList list = new LinkedList();
  68. list.append(6);
  69. list.push(7);
  70. list.push(1);
  71. list.append(4);
  72. list.insertAfter(list.head.next, 8);
  73. System.out.println("Created Linked list is: ");
  74. list.printList();
  75. list.deleteNode(1);
  76. System.out.println("\nLinked List after Deletion of 1:");
  77. list.printList();
  78. }
  79. }


输出:

  1. Created Linked list is:
  2. 1 7 8 6 4
  3. Linked List after Deletion of 1:
  4. 7 8 6 4


        在这个示例中,我们创建了一个 LinkedList 类,它包含一个 Node 类一些方法来操作链表。我们可以使用 push() 方法在链表的头部插入节点,使用 insertAfter() 方法在链表中间插入节点,使用 append() 方法在链表尾部插入节点,使用 deleteNode() 方法删除链表中的给定节点,并使用 printList() 方法打印链表

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/823016
推荐阅读
相关标签
  

闽ICP备14008679号