Скачиваний:
10
Добавлен:
15.06.2014
Размер:
2.26 Кб
Скачать
unit Unit2;

interface
uses Classes,ExtCtrls,Forms , Windows, Messages, SysUtils, Variants,
Graphics, Controls,
Dialogs, StdCtrls;

Type

Tinf=integer;
Tsel=^sel; //рекурсивный тип
sel=Record
Inf:TInf; // информация об элементе списка
A:Tsel; //Адрес ячейки такого же типа
end;

Tspisochek = class
constructor Create;
Procedure Sozd;
Procedure Soed;
Procedure Ochist;
Procedure Vihod;
end;


implementation

uses Unit1;

var
sp,spk,verh1,verh2,nach2,nach3,verh : Tsel;

Procedure Tspisochek.Sozd;
var
i,n : integer;
begin
spk:=nil;
randomize;
n:=5+random(5);
for i:=1 to n do
begin
sp:=spk;
new(spk);
spk^.inf:=Random(99);
form1.ListBox1.Items.Add(IntToStr(spk^.inf));
spk^.A:=sp;
end;
verh1:=spk;

n:=random(10)+5;
for i:=1 to n do
begin
sp:=spk;
new(spk);
if i=1 then nach2:=spk;
spk^.inf:=Random(99);
form1.ListBox2.Items.Add(IntToStr(spk^.inf));
spk^.A:=sp;
end;
verh2:=spk;

n:=random(10)+5;
for i:=1 to n do
begin
sp:=spk;
new(spk);
if i=1 then nach3:=spk;
spk^.inf:=Random(99);
form1.ListBox3.Items.Add(IntToStr(spk^.inf));

spk^.A:=sp;
end;

end;

Procedure Tspisochek.Soed;
begin
Form1.Button4.Enabled:=true;
nach2^.A:=verh1;
nach3^.A:=verh2;
verh:=spk;
While Spk^.A<>nil do
begin
form1.ListBox4.Items.Add(IntToStr(spk^.inf));
spk:=spk^.A;
end;
form1.ListBox4.Items.Add(IntToStr(spk^.inf));
end;

Procedure Tspisochek.Ochist;
begin
if verh<>nil then
begin
while verh^.A<>nil do
begin
spk:=verh;
verh:=verh^.A;
Dispose(Spk);
end;
Dispose(Verh);
end;
Form1.Button4.Enabled:=false;
Form1.Button2.Enabled:=false;
form1.listbox1.Clear;
form1.listbox2.Clear;
form1.listbox3.Clear;
form1.listbox4.Clear;
verh:=nil;
end;


Procedure Tspisochek.vihod;
begin
if (spk=nil)or(verh=nil) then Application.Terminate;
if verh<>nil then
begin
while verh^.A<>nil do
begin
spk:=verh;
verh:=verh^.A;
end;
Dispose(Verh);
Application.Terminate;
end;
end;


Constructor Tspisochek.Create;
begin
{ne }

end;




end.
Соседние файлы в папке соединение 3 стеков в один
  • #
    15.06.20144.97 Кб10Unit1.dcu
  • #
    15.06.20141.82 Кб10Unit1.dfm
  • #
    15.06.20141.39 Кб11Unit1.pas
  • #
    15.06.20141.41 Кб10Unit1.~pas
  • #
    15.06.20143.34 Кб10Unit2.dcu
  • #
    15.06.20142.26 Кб10Unit2.pas
  • #
    15.06.20142.33 Кб10Unit2.~pas