C-Programmierung

Knoten in Liste Einfügen

Listenstruktur | | Knoten in Liste Suchen

Einzelne Arbeitsschritte:

  • Schritt 1: Speicherplatz für neues Element reservieren.
    • Nutzdaten in das neue Element kopieren
  • Schritt 2: Nachfolger-Zeiger des neuen Elements auf das referenzierte Element der Wurzel setzen
    • Sortierung umgekehrt zur Reihenfolge des Einfügens
  • Schritt 3: Wurzel auf das neue Element zeigen lassen
    • Wurzel zeigt bei leerer Liste auf null

Schritt 1:

      new
        |
        -----     -----     -----     -----
root    |d| |     |d|n| --> |d|n| --> |d|n| --> null
   |    -----     -----     -----     -----
   |              ^
   \______________/

Schritt 2:

      new
        |
        -----     -----     -----     -----
root    |d|n| --> |d|n| --> |d|n| --> |d|n| --> null
   |    -----     -----     -----     -----
   |              ^
   \______________/

Schritt 3:

       new
         |
         -----     -----     -----     -----
root --> |d|n| --> |d|n| --> |d|n| --> |d|n| --> null
         -----     -----     -----     -----

Konten Einfügen als Funktion:

struct Node {         /* node of single chained list */
   T item;            /* chained items of type T */
   struct Node *next; /* pointer to next node */
};

typedef struct Node
   node_type,         /* type of node */
   *node_ptr;         /* type of pointer to node */

node_ptr root=NULL;   /* global root node */

void insert_element(const T &element)
{
   node_ptr ptr;

   ptr=new node_type;

   ptr->item = element; // Step 1
   ptr->next = root;    // Step 2
   root = ptr;          // Step 3
}


Listenstruktur | | Knoten in Liste Suchen

Options: