027
14.07.2003, 15:08 Uhr
Pablo
Supertux (Operator)
|
Gute Frage von ao, was lernst du, c oder c++. Wenn du c lernst, dann kannst du die Lösung von Oli nehmen, weil das C++ ist. In C gibt es keine Klassen oder Templates und wenn du einen Speicher haben willst, dessen Länge nicht fest ist,d.h, dass sie sich ändert während des Verlaufs des Programmes, kannst du keine Arrays nehmen, und wenn schon dann laufen die Einfüge Operationen in O(n), in Omega(n) sogar, wenn man nicht gut implementiert. In C kann man sowas machen wie:
Code: |
scanf("%d", &var); int array[var+1]:
|
erstens weil das Array vor dem scanf deklariert werden muss und zweitens kann man nicht mit einer Variable ein Array initialiseren.
Wenn du trotzdem eine variable Länge haben willst, dann musst (kannst) du verkette bzw. doppelverkette Listen nehmen. Bsp:
C++: |
typedef struct { int content; struct LISTE* nextNode; } LISTE;
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |