爪哇2博客
爪哇2博客

在Java中实现单链表

在本文中,我们将看到如何在Java中实现单链表。
它是最常用的数据结构之一。在单链列表中,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 }
 

导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

  • 8月12日

    两个链表的交集

    在这篇文章中,我们将看到如何找到两个链表的交集。问题给定两个单链表,查找两个链表是否相交。如果它们相交,请找到相交点。解决方案这是找到两个链表的交集的简单算法。查找两个单链列表的长度。查找更大的链接列表[…]

  • 10月12日

    在Java中使用链表实现队列

    如果您想练习数据结构和算法程序,则可以解决数据结构和算法面试问题。在本文中,我们将看到如何在Java中使用链接列表实现Queue。队列是抽象数据类型,可演示先进先出(FIFO)行为。我们将使用数组实现相同的行为。尽管java提供了[…]

  • 10月10日

    将排序的链表转换为平衡的BST

    在本文中,我们将看到如何将已排序的LinkedList转换为平衡的二进制搜索树。有两种方法可以做到这一点。解决方案1:将排序后的数组转换为BST非常相似。找到链接列表的中间元素,使其成为根,然后递归执行。时间复杂度:o(nlogn)。 […]

  • 9月20日

    在Java中找到链表的长度

    如果您想练习数据结构和算法程序,则可以遍历数据结构和算法程序。在这篇文章中,我们将看到如何在Java中找到链表的长度。您显然可以使用java链表类的size()方法,但在这里我们将看到如何查找长度[…]

  • 9月10日

    在Java中使用链接列表实现堆栈

    如果您想练习数据结构和算法程序,则可以解决100多个数据结构和算法面试问题。在该程序中,我们将看到如何使用Java中的链接列表实现堆栈。堆栈是一种抽象数据类型,它演示了后进先出(LIFO)行为。我们将执行相同的[…]

  • 4月01

    如何在Java中检查链表是否是回文

    在这篇文章中,我们将看到如何检查链表是否是回文。 爪哇链表面试程序:如何在Java中反向链表在Java中如何成对反向链表如何在Java中找到链表的中间元素如何在[中检测循环]…]

Comments

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


让 ’s be Friends

©2020 爪哇2博客