📜  用于在链表中搜索元素的Java程序(1)

📅  最后修改于: 2023-12-03 15:40:53.632000             🧑  作者: Mango

用于在链表中搜索元素的Java程序

链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在很多实际应用中,需要在链表中进行查找操作。本文将介绍如何用Java语言编写一个用于在链表中搜索元素的程序。

定义链表节点类

首先,需要定义一个链表节点类,它包含一个数据和一个指向下一个节点的指针。代码如下:

public class ListNode {
    int val;
    ListNode next;

    ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}
定义搜索方法

接下来,需要定义一个搜索方法。该方法接收一个链表的头节点和要查找的元素,返回该元素在链表中的位置。如果找不到该元素,返回-1。代码如下:

public int search(ListNode head, int target) {
    int index = 0;
    ListNode curr = head;

    while (curr != null) {
        if (curr.val == target) {
            return index;
        }

        curr = curr.next;
        index++;
    }

    return -1;
}
测试搜索方法

最后,可以编写一个简单的测试程序来测试搜索方法。代码如下:

public class Main {
    public static void main(String[] args) {
        // 创建链表
        ListNode head = new ListNode(1);
        ListNode node1 = new ListNode(2);
        ListNode node2 = new ListNode(3);
        ListNode node3 = new ListNode(4);

        head.next = node1;
        node1.next = node2;
        node2.next = node3;

        // 在链表中搜索元素
        int index = search(head, 3);

        // 打印结果
        System.out.println(index);  // 输出 2
    }

    public static int search(ListNode head, int target) {
        int index = 0;
        ListNode curr = head;

        while (curr != null) {
            if (curr.val == target) {
                return index;
            }

            curr = curr.next;
            index++;
        }

        return -1;
    }
}
总结

本文介绍了如何用Java语言编写一个用于在链表中搜索元素的程序。通过定义链表节点类和编写搜索方法,可以实现在链表中查找元素的功能。