Stell dir vor du hast eine Datenmenge die du in einem Array speicherst das eine feste Größe hat. Wenn du jetzt weitere Daten hinzufügst stößt du irgendwann an die Größe des Arrays und musst ein neues größeres erstellen, wodurch du jedes Element in ein neues Array kopieren musst, was bei sehr großen Datenmengen viele Rechenoperationen benötigt. Wenn du mit dynamischen Datenstrukturen verwendest (mithilfe von Pointern) kannst du stattedessen einfach beliebig viele Elemente hinten anhängen.
Das ganze könnte beispielsweise so aussehen:
Code:
#include <iostream>
struct node {
double someData;
node* next;
};
typedef struct node node;
void insert(node* list, node* newNode){
while(list->next){
list = list->next;
}
list->next = newNode;
}
void printList(node* list){
while(list){
std::cout << list->someData << std::endl;
list = list->next;
}
}
int main() {
node* root = new node;
root->someData = 42.0;
node* a = new node;
a->someData = 3.14159;
node* b = new node;
b->someData = 2.71828;
insert(root, a);
insert(root, b);
printList(root);
return 0;
}