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
}
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 →