Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Zdravím
type p_dict_item= ^ dict_item;
dict_item = record
word:string;
f:longint;
next:p_dict_item;
end;
dictionary=p_dict_item;
var d:dictionary; w:string;
d:=nil;
//A NYNÍ ZDE MÁM PROCEDURU, KTERÁ JAK SE NA TO KOUKÁM DÁVÁ NOVÝ PRVEK NA ZAČÁTEK. JAK BY TO PROSÍM ŠLO PŘEPSAT, ABY DÁVALA NA KONEC LSS?
new(novy_prvek); {vznikl novy record dict_item}
novy_prvek^.word:= w;
novy_prvek^.f:= 1;
novy_prvek^.next:= d;
d:= novy_prvek;
Děkuji.
Offline
Bude třeba rozlišit, kdy je seznam prázdný a kdy ne. Když je prázdný, pak to bude stejně, jak to máš. Když není, tak buď to uděláš naivně a v každém přidávání budeš procházet 'd' od začátku až narazíš na poslední prvek (jeho následník je nil), za který ten nový přidáš, nebo to uděláš lépe tak, že kromě 'd' si budeš pamatovat řekněme 'd_end', stejného typu, který bude ukazovat přimo na konec (při každém vložení se pak toto d_end musí upravit, samozřejmě).
Offline