C# verknüpfte Liste

C# verknüpfte Liste

In C#ist die LinkedList eines, in dem Elemente an nicht kontinuierlichen Orten gespeichert werden. Es ist eine lineare Datenstruktur. Die Elemente einer verknüpften Liste kommunizieren über Zeiger miteinander. In einfachen Worten besteht es aus Knoten, jeder Knoten enthält ein Datenfeld und einen Link zum nächsten Knoten in der Liste. In der Liste doppelt_linked ist jeder Knoten in der Liste auf den folgenden Knoten und rückwärts zum vorhergehenden Knoten weiter. Es ermöglicht auch eine schnelle Einführung und Entfernung von Gegenständen. Es ist im System definiert.Sammlungen.Generischer Namespace.

So erstellen Sie eine LinkedList in C#

Zum Erstellen von LinkedList in C#haben wir drei Konstruktoren.

LinkedList (): Zum Erstellen einer leeren Instanz der LinkedList -Klasse verwenden wir den Konstruktor „LinkedList ()“.

LinkedList (iEnumerable): Zum Erstellen einer Instanz der LinkedList -Klasse, die Elemente enthält, die vom IEnumerable kopiert werden, verwenden wir den Konstruktor „LinkedList (iEnumerable)“. Es hat genug Platz, um die Anzahl der kopierten Objekte zu halten.

LinkedList (SerializationInfo, StreamingContext): Es wird verwendet, um eine Instanz zu erstellen, die unter Verwendung des Serialiationsinfo und des StreamingContext -Parameters serialisiert wird.

Beispiel 1

Wir schreiben den Code, der in diesem Beispiel angegeben ist, und speichern diese Datei mit einem beliebigen Namen. Wir werden die Erweiterung verwenden “.CS ”zum Speichern dieser Datei.

Im obigen Code verwenden wir das Schlüsselwort "Verwenden" in der ersten Zeile, um Namespaces aufzunehmen. Jetzt haben wir das „Verwenden von Systemen.Sammlungen.Generischer Namespace. Danach haben wir eine Klasse; "Liste" ist der Klassenname. Danach gibt es eine "main ()" -Methode. Die Hauptmethode beschreibt, was die Klasse tut, wenn sie ausgeführt wird, und erstellt zusätzliche Objekte und Variablen. Es ist der Ausgangspunkt des Programms und es wird ausgeführt, ohne nur ein Klassenobjekt zu erstellen. In Curly Braces haben wir "LinkedList", mit der eine verknüpfte Liste der DataType -Zeichenfolge erstellt wird.

Danach verwenden wir „my_list.AddLast () ”, um die LinkedList zu Knoten hinzuzufügen. Der neue Knoten wird mit der Methode "AddLast" am letzten LinkList mithilfe der Methode "Addlast" hinzugefügt. Die Methode “my_list.Addlast ("Harry") "fügt der LinkedList den Namen" Harry "hinzu. Mit dieser Methode fügen wir der LinkedList "Peter", "Leo", "George", "Ronan", "Alice" und "Danil" hinzu. Danach haben wir die „Konsole.Keyword für WriteLine ”, das für die Ausgabe verwendet wird. Alles, was in Klammern geschrieben wurde, druckt auf dem Bildschirm.

Jetzt verwenden wir die Schleife "foreach", um auf die Elemente der LinkedList zuzugreifen. Durch die Verwendung "foreach (String str in My_List)" werden wir auf alle Zeichenfolgen zugreifen, die in der LinkedList "My_List" vorhanden sind. Danach verwenden wir „Konsole“.WriteLine (STR) ”, die alle Zeichenfolgen in diesem Programm anzeigt. Jetzt werden wir alle lockigen Zahnspangen schließen.

Erstellen eines C# -Programms in Ubuntu 20.04

Zum Kompilieren des obigen Programms verwenden wir den folgenden Befehl.

Hier in diesem Code „List1.CS ”ist der Name der Datei, die wir zusammenstellen möchten, und„ MCS “ist der Mono -Compiler von C#. Geben Sie diesen Befehl ein und drücken Sie die Eingabetaste. Der ".Die Exe -Datei wird für uns generiert.

Ausführung des C# -Programms in Ubuntu 20.04

Geben Sie den unten angegebenen Befehl für die Ausführung dieses C# -Programms ein, das im obigen Schritt kompiliert wird.

Der Befehl „mono“ führt ein Mono -Programm aus, das zusammengestellt wird. Die „Mono -Liste1.exe ”kann verwendet werden, um die" List1) auszuführen.Exe ”-Programm. Nach der Ausführung wird die folgende Liste auf dem Bildschirm angezeigt, wie unten gezeigt.

Beispiel 2: Zur Überprüfung des Wertes

Hier in diesem Code haben wir gesucht, ob der gegebene Wert in LinkedList oder nicht. Wenn der Wert oder die Zeichenfolge in der LinkedList vorhanden ist, gibt er True zurück, was bedeutet, dass der Zeichenfolge oder der Wert darin enthalten ist. Der folgende Code wird dafür verwendet.

In diesem Code wird „System verwenden“ verwendet, um Namespaces hinzuzufügen. Danach haben wir „System verwenden.Sammlungen “, was bedeutet, dass wir Sammelklassen verwenden. Diese Klassen werden für viele Zwecke verwendet. Sie erstellen Objektsammlungen. Dann haben wir „System verwenden.Sammlungen.Generisches ”, der für den Namespace im Programm verwendet wird. Dann haben wir eine Klasse namens "ChkList". Nach dem Unterricht setzen wir lockige Zahnspangen und in die lockigen Klammern, die wir definieren, die Funktion „main ()“.

In der "main ()" zum Erstellen einer LinkedList haben wir eine "LinkedList -Klasse" und String wird für einen String -Datentyp verwendet, der für die String -Eingabe verwendet wird. Nun zum Hinzufügen von Knoten verwenden wir „my_list.Addlast () ”. Wir können "Computer" in LinkedList hinzufügen, wenn wir my_list verwenden.Addlast ("Computer"). Durch die Verwendung derselben Zeile fügen wir "Laptop", "Mobile" und "Kamera" zur LinkedList hinzu. Wir haben all diese Elemente im obigen Beispiel im Detail diskutiert.

Danach schreiben wir „Konsole.WriteLine (my_list.Enthält ("Laptop") ")" Wenn diese Zeile ausgeführt wird. Es wird "wahr" zurückgegeben, wenn die LinkedList "Laptop" enthält.

Für die Zusammenstellung und Ausführung dieses obigen Programms schreiben wir die unten angegebenen Befehle auf dem Terminal.

Hier in dieser Ausgabe sehen wir, dass es das wahre Ergebnis zurückgibt, was bedeutet, dass die LinkedList "Laptop" enthält.

Beispiel 3: Zum Entfernen des Knotens

Hier erklären wir ein weiteres Beispiel, in dem wir den ersten Wert aus der Linkedlist löschen oder entfernen und die Anzahl der Werte erhalten.

In diesem Code verwenden wir das Schlüsselwort „Verwenden“, das wir im ersten Beispiel erklärt haben. Dann verwenden wir das „System verwenden“.Sammlungen.Generischer Namespace, den wir in unserem vorherigen Beispiel ausführlich besprochen haben. Danach haben wir eine Klasse mit dem Namen "entfernen". Dann wird die Funktion „main ()“ gebildet. Die "String [] args" bedeutet die Argumente dieser Funktion. Nach „main ()“ generieren wir eine Linkedlist einer Ganzzahl mit "LinkedList". Dann fügen wir mit Hilfe von „My_List verschiedene Knoten hinzu.Addlast () ”.

Wenn wir "my_list" schreiben.AddLast (20) ”addiert einen Knoten 20 in der LinkedList. Jetzt fügen wir mit der gleichen Methode „10,20,30,40“ hinzu. Um die Ausgabe der Anzahl der Knoten zu erhalten, verwenden wir „Konsole“.WriteLine ”und zählen Sie die Knoten mit„ my_list.Zählen Sie “und druckt die Anzahl der Knoten, bevor Sie einen Knoten entfernen. Dann verwenden wir die Schleife "foreach", die die Knoten auf der LinkedList anzeigt.

In "foreach (int i in my_list)" repräsentiert "int" die Ganzzahlwerte in "my_list". In lockigen Zahnspangen drucken wir die Werte von „I“ mit „Konsole.WriteLine (i) ”. Jetzt entfernen wir den ersten Knoten mit „my_list.Entfernen (my_list.Zuerst) "und dann" my_list "verwenden.Zählen Sie “, um die Anzahl von Knoten in unser Programm zu erhalten und es mit Hilfe der„ Konsole “anzuzeigen.Writeline ”. Danach verwenden wir die oben beschriebene "foreach" -Schloop, um alle Knoten zu drucken, nachdem Sie den ersten Knoten entfernt haben. Speichern Sie diese Datei nach Abschluss des oben genannten Code.

Jetzt erhalten wir die Ausgabe, indem wir den unten angegebenen Befehl im Bild schreiben. Zuerst kompilieren wir das Programm und führen es dann aus.

In dieser Ausgabe sehen wir, dass es die Anzahl der Knoten druckt und dann alle Knoten in einer Liste anzeigt. Danach entfernt es den ersten Knoten und druckt die Anzahl der verbleibenden Knoten und zeigt dann die verbleibenden Knoten an.

Abschluss

In diesem Artikel haben wir erfahren, dass eine verknüpfte Liste eine Gruppe von Knoten ist, und jeder Knoten enthält ein Datenelement und einen Zeiger im Voraus, der auf die Adresse des Speichers des kommenden Knotens hinweist. Weil wir die Elemente nicht beiläufig bekommen können, wenn wir in Arrays kommen, so ist das Durchlaufen von ihnen raffiniert. Im Vergleich zu Arrays sind Einfügungsdelettaktionen billig. Außerdem haben wir viel über LinkedList untersucht, indem wir verschiedene Beispiele verwenden, die in Zukunft für Benutzer sehr hilfreich sind.