Matematické Fórum

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

#1 25. 04. 2011 16:27

Majki
Příspěvky: 120
Reputace:   
 

pascal lss

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

 

#2 26. 04. 2011 12:13

musixx
Místo: Brno
Příspěvky: 1771
Reputace:   45 
 

Re: pascal lss

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

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson