Aktív témák
-
khalox
őstag
És mivel az utóbbi pár hozzászólásom OFF volt, ezért megbüntettem magam és nyomtam egy COPY-PASTE-et... hogy valami legyen a témához is (bár a szóközöket tudom lenyeli, valamit dolgozzon is vele...):
Unit Lista;
Interface
Type
Elemtip = ??? ; (* a lista elemtipusa *)
Tipus = Pointer;
{ A lista adattipus muveletei: }
Procedure Letesit(Var L : Tipus);
Procedure Uresit(Var L : Tipus);
Function Urese(L : Tipus) : Boolean;
Function Elejen(L : Tipus) : Boolean;
Function Vegen(L : Tipus) : Boolean;
Procedure Elejere(Var L : Tipus);
Procedure Vegere(Var L : Tipus);
Procedure Tovabb(Var L : Tipus);
Procedure Kiolvas( L : Tipus;
Var X : Elemtip);
Procedure Modosit(Var L : Tipus;
Y : Elemtip);
Procedure Bovit(Var L : Tipus;
Y : Elemtip);
Procedure Torol(Var L : Tipus);
Procedure Kapcsol(Var L1,L2 : Tipus);
Implementation
Type
Lanctip = ^Cella;
Cella = Record
adat : Elemtip;
csat : Lanctip
End;
Reptip = Record (* az adattipus reprezentalo tipusa *)
lab, kurzor : Lanctip
End;
Procedure Letesit(Var L : Tipus);
Var Lr: ^Reptip Absolute L;
Begin
New(Lr);
With Lr^ Do
Begin
New(lab);
lab^.csat := lab; kurzor := lab
End
End (* Letesit *) ;
Procedure Uresit(Var L : Tipus);
Var Lr: ^Reptip Absolute L;
Begin
With Lr^ Do
Begin
lab := lab^.csat;
kurzor:= lab^.csat;
While kurzor <> lab Do
Begin
lab^.csat:= kurzor^.csat;
Dispose(kurzor);
kurzor := lab^.csat;
End;
End;
End (* Uresit *) ;
Function Urese(L : Tipus) : Boolean;
Var Lr: ^Reptip Absolute L;
Begin
Urese := Lr^.lab = Lr^.lab^.csat
End (* Urese *) ;
Function Vegen(L : Tipus) : Boolean;
Var Lr: ^Reptip Absolute L;
Begin
Vegen := Lr^.kurzor = Lr^.lab
End (* Vegen *) ;
Function Elejen(L : Tipus) : Boolean;
Var Lr: ^Reptip Absolute L;
Begin
Elejen := Lr^.kurzor = Lr^.lab^.csat
End (* Elejen *) ;
Procedure Elejere(Var L : Tipus);
Var Lr: ^Reptip Absolute L;
Begin
Lr^.kurzor := Lr^.lab^.csat
End (* Elejere *) ;
Procedure Vegere(Var L : Tipus);
Var Lr: ^Reptip Absolute L;
Begin
Lr^.kurzor := Lr^.lab
End (* Vegere *) ;
Procedure Tovabb(Var L : Tipus);
Var Lr: ^Reptip Absolute L;
Begin
If Lr^.kurzor <> Lr^.lab
Then Lr^.kurzor := Lr^.kurzor^.csat
End (* Tovabb *) ;
Procedure Kiolvas(L : Tipus; Var X : Elemtip);
Var Lr: ^Reptip Absolute L;
Begin
If Lr^.kurzor <> Lr^.lab Then
X := Lr^.kurzor^.csat^.adat
End (* Kiolvas *) ;
Procedure Modosit(Var L : Tipus; Y : Elemtip);
Var Lr: ^Reptip Absolute L;
Begin
If Lr^.kurzor <> Lr^.lab Then
Lr^.kurzor^.csat^.adat := Y
End (* Modosit *) ;
Procedure Bovit(Var L : Tipus; Y : Elemtip);
Var Lr: ^Reptip Absolute L;
ujcella : Lanctip;
Begin
New(ujcella);
With Lr^ Do
Begin
ujcella^.adat := Y; ujcella^.csat := kurzor^.csat;
kurzor^.csat := ujcella;
If kurzor = lab Then
lab := ujcella;
End
End (* Bovit *) ;
Procedure Torol(Var L : Tipus);
Var Lr: ^Reptip Absolute L;
Var P : Lanctip;
Begin
With Lr^ Do
If kurzor <> lab Then
Begin
If kurzor^.csat = lab Then
lab := kurzor;
P := kurzor^.csat;
kurzor^.csat := P^.csat;
Dispose(P);
End
End (* Torol *) ;
Procedure Kapcsol(Var L1, L2 : Tipus);
Var L1r: ^Reptip Absolute L1; L2r: ^Reptip Absolute L2;
Var P,Fej2 : Lanctip;
Begin
If (L1r^.lab <> L2r^.lab) And (L2r^.kurzor <> L2r^.lab^.csat) Then
Begin
P := L1r^.kurzor^.csat;
Fej2:= L2r^.lab^.csat;
L1r^.kurzor^.csat := Fej2^.csat;
Fej2^.csat:= L2r^.kurzor^.csat;
L2r^.kurzor^.csat := P;
If L1r^.kurzor = L1r^.lab Then
L1r^.lab := L2r^.kurzor;
If Fej2 = Fej2^.csat Then
L2r^.lab := Fej2;
L2r^.kurzor :=Fej2 ;
End
End (* Kapcsol *) ;
End (* Lista *) .
Aktív témák
- Elektromos autók - motorok
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Akciókamerák
- Anime filmek és sorozatok
- exHWSW - Értünk mindenhez IS
- Milyen légkondit a lakásba?
- Világrekordot ünnepel az ASRock
- Ilyen olcsó sem volt még egy Apple notebook
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4409
- AKCIÓ! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10875H 32GB DDR4 512GB SSD Quadro T2000 W11
- HP ProDesk 400 G3 (SFF), i3-6100T,4GB DDR4,256GB SSD, DVD,WIN11
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- iPhone 12 64GB 100% (3hónap Garancia) - ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


