English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Beispiel werden wir lernen, wie man in Java die mittlere Elemente einer LinkedList in einem Iterationsvorgang erhält.
Um diesen Beispiel zu verstehen, stellen Sie sicher, dass Sie zunächst die folgenden Tutorials besuchen:
class LinkedList { //Erstellen Sie ein Objekt der Klasse Node //Stellt den Kopf der Liste dar Node head; //Statische Innere Klasse static class Node { int value; //Jeder Knoten wird mit dem nächsten Knoten verbunden Node next; Node(int d) { value = d; next = null; } } public static void main(String[] args) { //Erstellen Sie ein LinkedList-Objekt LinkedList linkedList = new LinkedList(); //Wertzuweisung für jeden Knoten der Liste linkedList.head = new Node(1); Node second = new Node(2); Node third = new Node(3); //Verbinden Sie jeden Knoten der Liste mit dem nächsten Knoten linkedList.head.next = second; second.next = third; //Drucken Sie die Liste aus Node pointer = linkedList.head; System.out.print("LinkedList: ") while (pointer != null) { System.out.print(pointer.value + "); pointer = pointer.next; } // den mittleren Element finden Node ptr1 = linkedList.head; Node ptr2 = linkedList.head; while (ptr1.next != null) { //setzt ptr1erhöhen2,setzt ptr2erhöhen1 //wenn ptr1zeigt auf das letzte Element //ptr2wird auf das mittlere Element zeigen ptr1 = ptr1.next; if(ptr1.next != null) { ptr1 = ptr1.next; ptr2 = ptr2.next; } } System.out.println("\nMittleres Element: " + ptr2.value); } }
Ausgaberesultat
LinkedList: 1 2 3 Mittleres Element: 2
In diesem Beispiel haben wir die Datenstruktur der Liste mit Java implementiert. Dann haben wir im Zyklus den mittleren Element der Liste gefunden. Beachten Sie den Code,
while (ptr1.next != null) { //setzt ptr1erhöhen2,setzt ptr2erhöhen1 //wenn ptr1zeigt auf das letzte Element //ptr2wird auf das mittlere Element zeigen ptr1 = ptr1.next; if(ptr1.next != null) { ptr1 = ptr1.next; ptr2 = ptr2.next; } }
Hier haben wir zwei Variablen ptr1und ptr2。 Wir verwenden diese Variablen, um die Liste zu durchsuchen.
in jeder Iteration, ptr1zwei Knoten besuchen wird, während ptr2den einzelnen Knoten der Liste besuchen wird.
jetzt, wenn ptr1Wenn ptr am Ende der verknüpften Liste angekommen ist,2befindet sich in der Mitte. Auf diese Weise können wir die mittlere Position der Liste in einer Iteration erhalten.
import java.util.LinkedList; class Main { public static void main(String[] args){ //Verwenden Sie die LinkedList-Klasse, um eine Liste zu erstellen LinkedList<String> animals = new LinkedList<>(); //Elemente zur LinkedList hinzufügen animals.add("Hund"); animals.addFirst("Katze"); animals.addLast("Pferd"); System.out.println("LinkedList: " + animals); //Zugriff auf das mittlere Element String middle = animals.get(animals.size())/2); System.out.println("Mittleres Element: " + middle); } }
Ausgaberesultat
LinkedList: [Katze, Hund, Pferd] Mittleres Element: Hund
Im obigen Beispiel haben wir die LinkedList-Klasse verwendet, um die Datenstruktur der Liste zu realisieren. Beachten Sie den Ausdruck
animals.get(animals.size())/2)
size()/ 2 - Position des mittleren Elements zurückgeben
get() - Element in der Mitte zurückgeben