Java >> Tutoriel Java >  >> Java

Trouver la longueur d'une structure de données de liste chaînée (itérative et récursive)

Comment trouver la longueur de la structure de données de la liste liée ?

Liste liée

Une liste chaînée est une structure de données linéaire où chaque élément est un objet distinct. Compter un nœud dans une liste chaînée est important en programmation lorsque nous utilisons une structure de données de liste chaînée. Cela vous aidera à résoudre de nombreux problèmes comme l'affinement du nième nœud à partir du dernier. Alors faites de bonnes pratiques de programmation, cela peut être votre prochaine question d'entretien.

Méthode 1. Itérative : L'itération est appliqué à l'ensemble d'instructions que nous voulons faire exécuter de manière répétée.

package in.eyehunt.data.struc;

// Linked list Node.
class Node {
    int data;
    Node next;
    // Parameterized constructor
    Node(int d) {
        data = d;
        next = null;
    }
}
public class LinkedList {

    Node head; // head of list
    //Returns count of nodes in linked list (iteration)
    public int count() {
        int a = 0;
        Node n = head;
        while (n != null) {
            n = n.next;
            a++;
        }
        return a;
    }
    public static void main(String a[]) {
        //create a simple linked list with 3 nodes
        LinkedList linkedList = new LinkedList();
        linkedList.head = new Node(2);
        Node second = new Node(4);
        Node third = new Node(5);
        linkedList.head.next = second;
        second.next = third;

        System.out.print("Total nodes in LikedList is : " + linkedList.count());
    }
}

Sortie :Le nombre total de nœuds dans LikedList est : 3

Méthode 2. Récursif : Récursivité est un processus, où l'instruction dans un corps de fonction appelle la fonction elle-même.

package in.eyehunt.data.struc;

// Linked list Node.
class Node {
    int data;
    Node next;
    // Parameterized constructor
    Node(int d) {
        data = d;
        next = null;
    }
}
public class LinkedList {

    Node head; // head of list

    //Returns count of nodes in linked list (Recursion)
    public int countRecursive(Node node) {
        if (node == null ){
            return 0;
        }
        return 1 + countRecursive(node.next);
    }
    public static void main(String a[]) {

        //create a simple linked list with 3 nodes
        LinkedList linkedList = new LinkedList();
        linkedList.head = new Node(2);
        Node second = new Node(4);
        Node third = new Node(5);
        Node fourth = new Node(9);
        linkedList.head.next = second;
        second.next = third;
        third.next = fourth;

        System.out.print("Total nodes in LikedList is : " + linkedList.countRecursive(linkedList.head));

    }
}

Sortie :Le nombre total de nœuds dans LikedList est :4

Trouver la longueur d'une structure de données de liste liée est la question principale dans une liste. Sur la base de cette recherche de la longueur de la liste liée, vous pouvez résoudre de nombreuses questions sur la liste liée.


Balise Java