Zuhause Persönliche Finanzen Erstellen einer verknüpften Liste in C-Programmierung - Dummys

Erstellen einer verknüpften Liste in C-Programmierung - Dummys

Video: 12D.1 einfach verkettete Liste programmieren, Teil 1 2025

Video: 12D.1 einfach verkettete Liste programmieren, Teil 1 2025
Anonim

Wenn Sie in C-Programmierung eine zweite Struktur zu bereits erstelltem Code hinzufügen möchten, erstellen Sie eine verknüpfte Liste - eine Reihe von Strukturen, die Zeiger zueinander enthalten. Zusammen mit den Basisdaten in einer Struktur enthält die Struktur einen Zeiger, der die Adresse der nächsten Struktur in der Liste enthält.

Mit einem cleveren Jonglieren von Zeigernamen und einem NULL-Ende, um das Ende der Liste zu begrenzen, könnten Sie am Ende etwas ähnliches wie den Quellcode in A Primitive Linked-List Example finden.

EIN PRIMITIVES LINKED-LIST-BEISPIEL

#include #include #include int main () {struct stock {char-symbol [5]; int Menge; Pauschalpreis; Strukturvorrat * next;}; Strukturbestand * zuerst; Strukturbestand * aktuell; Strukturvorrat * neu; / * Struktur im Speicher erstellen * / first = (struct stock *) malloc (sizeof (struct stock)); if (first == NULL) {puts ("Irgendeine Art von malloc () - Fehler"); exit (1);} / * Strukturdaten zuweisen * / current = first; strcpy (aktuelles-> Symbol, "GOOG"); Strom-> Menge = 100; Strom-> Preis = 801. 19; current-> next = NULL; new = (Strukturvorrat *) malloc (sizeof (Strukturvorrat)); if (new == NULL) {puts ("Ein anderer malloc () - Fehler"); exit (1);} current-> next = new; aktuell = neu; strcpy (aktuelles-> Symbol, "MSFT"); Strom-> Menge = 100; Strom-> Preis = 28. 77; current-> next = NULL; / * Datenbank anzeigen * / puts ("Anlageportfolio"); printf ("SymboltSharestPricetValuen"); aktuell = zuerst; printf ("% - 6st% 5dt%. 2ft%. 2fn", Strom-> Symbol, Strom-> Menge, Strom-> Preis, Strom-> Menge * Strom-> Preis); Strom = Strom-> Weiter; printf ("% - 6st% 5dt%. 2ft%. 2fn", Strom-> Symbol, Strom-> Menge, Strom-> Preis, Strom-> Menge * Strom-> Preis); return (0);}

Dieser Quellcode ist ziemlich lang, aber er erstellt einfach eine zweite Struktur, die mit der ersten verknüpft ist. Lassen Sie sich nicht von der Länge des Quellcodes einschüchtern.

Die Zeilen 13 bis 15 deklarieren die standardmäßigen drei Strukturzeiger, die für einen Linked-List-Tanz erforderlich sind. Traditionell werden sie zuerst, aktuell und neu genannt. Sie spielen in das vierte Glied in der Struktur, das als nächstes bei Zeile 11 gefunden wird, was ein Strukturzeiger ist.

Verwenden Sie typedef nicht, um eine neue Strukturvariable beim Erstellen einer verknüpften Liste zu definieren. Ein primitives Linked-List-Beispiel verwendet typedef nicht, daher ist es kein Problem mit dem Code, aber viele C-Programmierer verwenden typedef mit Strukturen. Achtung!

Der in Zeile 15 verwendete Variablenname new ist ein reserviertes Wort in C ++. Wenn Sie zweisprachig sein möchten, ändern Sie den Variablennamen in new_struct oder in ein anderes als das Wort new.

Wenn die erste Struktur gefüllt ist, weist Zeile 30 einen NULL-Zeiger auf das nächste Element zu.Dieser NULL-Wert begrenzt das Ende der verknüpften Liste.

Zeile 32 erstellt eine Struktur, die ihre Adresse in die neue Zeigervariable einfügt. Die Adresse wird in Zeile 38 in der ersten Struktur gespeichert. So bleibt die Position der zweiten Struktur erhalten.

Die Zeilen 40 bis 43 füllen Informationen für den zweiten Zeiger aus und weisen dem nächsten Element in Zeile 43 einen NULL-Wert zu.

Die Verknüpfung erfolgt, wenn der Inhalt der Strukturen angezeigt wird. Zeile 48 erfasst die Adresse der ersten Struktur. Dann erfasst Zeile 54 die Adresse der nächsten Struktur innerhalb der ersten Struktur.

Übung 1 : Geben Sie den Quellcode von A Primitive Linked-List Example in Ihren Editor ein. Auch wenn es lang ist, tippen Sie es ein, weil Sie es später noch einmal bearbeiten müssen (falls Sie das noch nicht gewohnt sind). Baue und laufe.

Im Gegensatz zu Arrays sind Strukturen in einer verknüpften Liste nicht nummeriert. Stattdessen ist jede Struktur mit der nächsten Struktur in der Liste verknüpft. Solange Sie die Adresse der ersten Struktur kennen, können Sie die Liste bis zum Ende durcharbeiten, das mit einem NULL gekennzeichnet ist.

Ein primitives Linked-List-Beispiel zeigt einen schlampigen Quellcode mit viel wiederholtem Code. Wenn Sie in Ihrem Code mehrere Anweisungen wie diese sehen, sollten Sie sofort an Funktionen denken. "

EIN BESSERES VERKNÜPFUNGSLISTE-BEISPIEL

#include #include #include #define ITEMS 5 struct stock {char symbol [5]; int Menge; Pauschalpreis; Strukturvorrat * next;}; Strukturbestand * zuerst; Strukturbestand * aktuell; Strukturvorrat * neu; Strukturvorrat * make_structure (void); void fill_structure (Strukturvorrat * a, int c); void show_structure (Strukturvorrat * a); int main () {int x; für (x = 0; xnext = neu; aktuell = neu;} fill_structure (aktuell, x + 1);} aktuell-> next = NULL; / * Datenbank anzeigen * / puts ("Anlageportfolio"); printf ("SymboltSharestPricetValuen "); current = first; while (aktuell) {show_structure (aktuell); current = aktuell-> next;} return (0);} struct stock * make_structure (void) {strukturiert * a; a = (strukturiert *) malloc (sizeof (struct stock)); if (a == NULL) {puts ("Irgendeine Art von malloc () - Fehler"); exit (1);} return (a); void fill_structure (struct stock * a, int c) {printf ("Artikel #% d /% d: n", c, ITEMS); printf ("Aktiensymbol:"); scanf ("% s", a-> Symbol); printf ("Nummer der Aktien: "); scanf ("% d ", & a-> Menge); printf (" Aktienkurs: "); scanf ("% f ", & a-> Preis); void show_structure (struct stock * a) {printf ("% - 6st% 5dt%. 2ft%. 2fn", a-> Symbol, a-> Menge, a-> Preis, a-> Menge * a-> Preis);}

Die meisten verknüpften Listen werden wie in Beispiel einer besseren verknüpften Liste erstellt.Der Schlüssel ist die Verwendung von drei Strukturvariablen, die in den Zeilen 13 bis 15 gezeigt sind:

  • enthält zuerst immer die Adresse der ersten Struktur in der Liste. Immer.

  • current enthält die Adresse der Struktur, an der gearbeitet wird, die mit Daten gefüllt oder angezeigt wird.

  • new ist die Adresse einer neuen Struktur, die mit der Funktion malloc () erstellt wurde.

Zeile 7 deklariert die Bestandsstruktur als global. Auf diese Weise kann auf die verschiedenen Funktionen zugegriffen werden.

Die for-Schleife zwischen den Zeilen 25 und 39 erzeugt neue Strukturen, die sie miteinander verbinden.Die Anfangsstruktur ist etwas Besonderes, daher wird ihre Adresse in Zeile 30 gespeichert. Andernfalls wird dank der Funktion make_structure () eine neue Struktur zugewiesen.

In Zeile 35 wird die vorherige Struktur aktualisiert. Der Wert des Stroms wird erst in Zeile 36 geändert. Bevor dies geschieht, wird der Zeiger in der aktuellen Struktur mit der Adresse der nächsten Struktur, new, aktualisiert.

In Zeile 40 wird das Ende der verknüpften Liste markiert, indem der neue Zeiger in der letzten Struktur auf NULL zurückgesetzt wird.

Die while-Schleife in Zeile 46 zeigt alle Strukturen in der verknüpften Liste an. Die Bedingung der Schleife ist der Wert des aktuellen Zeigers. Wenn die NULL gefunden wird, stoppt die Schleife.

Der Rest des Codes, der in A Better Linked-List Example gezeigt wird, besteht aus Funktionen, die ziemlich selbsterklärend sind.

Übung 2 : Kopieren Sie den Code aus einem Beispiel für eine bessere verknüpfte Liste in den Editor. Baue und laufe.

Beachten Sie die Anweisungen von scanf () in der Funktion fill_structure (). Denken Sie daran, dass die -> die "peeker" -Notation für einen Zeiger ist. Um die Adresse zu erhalten, müssen Sie die Variable mit einem & in der Funktion scanf () voranstellen.

Erstellen einer verknüpften Liste in C-Programmierung - Dummys

Die Wahl des Herausgebers

Web Marketing: Warum Suchmaschinen existieren - Dummies

Web Marketing: Warum Suchmaschinen existieren - Dummies

Wenn Sie verstehen, warum Suchmaschinen existieren, können sie für Sie in Ihrem Web-Marketing-Geschäft arbeiten. Also, hier ist eine kurze Lektion, warum Suchmaschinen existieren und wie Sie sie nutzen können, um Geld zu verdienen. Suchmaschinen liefern Relevanz. Relevanz bedeutet, dass Besucher auf Suchergebnisse klicken und zufrieden sind mit ...

Was sind Tür- und Informationsseiten? - dummies

Was sind Tür- und Informationsseiten? - dummies

Eine Doorway-Seite wird nur als Zugang von einer Suchmaschine zu Ihrer Website erstellt. Doorway-Seiten werden manchmal als Gateway-Seiten und Geisterseiten bezeichnet. Die Idee besteht darin, hoch optimierte Seiten zu erstellen, die von Suchmaschinen aufgenommen und indiziert werden und die mit etwas Glück gut ranken und somit den Traffic auf eine ...

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Eine Weiterleitung ist das automatische Laden einer Seite ohne Benutzereingriff. Sie klicken auf einen Link, um eine Webseite in Ihren Browser zu laden, und innerhalb von Sekunden verschwindet die geladene Seite, und eine neue wird angezeigt. Designer erstellen häufig Seiten für Suchmaschinen - optimierte, schlüsselwortreiche Seiten -, die Besucher auf die ...

Die Wahl des Herausgebers

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

, Wenn Kunden wissen, dass sie direkt mit ein Geschäft in den sozialen Medien, können sie aus einer beliebigen Anzahl von Gründen mit ihnen in Verbindung treten. Aber sobald sie merken, dass ein Problem mit dem Kundenservice oder einer Produktfrage über einen einzigen Tweet oder Beitrag angesprochen werden kann, ist es wahrscheinlicher, dass sie mit dem Unternehmen Geschäfte machen.

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Die heutige Technologie verändert die Art und Weise, wie wir Geschäfte machen blitzschnell. Auch der Social-Media-Handel bewegt sich blitzschnell, aber durch die Beobachtung von Erwähnungen und Fragen an die Community können Sie einen Eindruck davon bekommen, wie Ihr Markt über bevorstehende Veränderungen denkt. Auch andere Posts können Ihnen helfen, kritisches Feedback aus der Öffentlichkeit zusammenzustellen ...

Manage Social Media Commerce mit HootSuite - dummies

Manage Social Media Commerce mit HootSuite - dummies

HootSuite ist ein Social Media Management System zur Umsetzung von Outreach und Überwachung in sozialen Netzwerken über ein einziges webbasiertes Dashboard. Für Unternehmen wird HootSuite am häufigsten von Social-Media-Teams mit mehreren Agenten verwendet, aber auch viele Einzelanwender mögen es. Wenn Sie auf der Suche nach einer robusten Plattform sind, die alles an einem Ort hält, ...

Die Wahl des Herausgebers

Die 5 Kornsterne der Mittelmeer - Dummies

Die 5 Kornsterne der Mittelmeer - Dummies

Die Mittelmeerdiät ist in der Praxis des Habens begründet ein Vollkorn zu jeder Mahlzeit. Und nein, das bedeutet nicht, eine ganze Platte Vollkornspaghetti mit Fleischsauce zum Abendessen zu essen. Stattdessen machen die Menschen im Mittelmeerraum ihr Getreide zur Beilage oder schaffen durch die Zugabe von magerem Eiweiß mehr Gleichgewicht ...

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Der Verzehr von sieben bis zehn Portionen Obst und Gemüse pro Tag, wie sie für die mediterrane Ernährung empfohlen werden, mag sehr viel erscheinen, aber es muss keine so große Herausforderung sein. Wenn Sie nicht die Früchte und das Gemüse lieben, die spezifisch mit der Mittelmeerdiät verbunden sind, ist das okay! Essen Sie jede Art von Obst oder Gemüse, die Sie ...

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Sie haben vielleicht gedacht, dass der Oregano und Basilikum in Ihrer Spaghetti-Sauce lieferte nur einen deutlichen italienischen oder mediterranen Geschmack, aber diese kleinen Kräuter sind Pflanzen, was bedeutet, dass sie alle Arten von gesundheitlichen Vorteilen haben, die einen großen Einfluss auf Ihre allgemeine Gesundheit haben können. Einfache Gewürze wie Ingwer und Oregano enthalten Phytochemikalien, ...