Скачиваний:
11
Добавлен:
15.06.2014
Размер:
1.59 Кб
Скачать
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 redakt;
Procedure Ochist;
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(10);
for i:=1 to n do
begin
sp:=spk;
new(spk);
spk^.inf:=-10 +Random(20);
form1.ListBox1.Items.Add(IntToStr(spk^.inf));
spk^.A:=sp;
end;
end;

Procedure Tspisochek.redakt;
var
n:integer;
begin
Form1.Button4.Enabled:=true;
Repeat
{While Spk^.A<>nil do}
begin

if spk^.Inf < 0 then
begin
Dispose(Spk);
spk:=sp
end
else
form1.ListBox4.Items.Add(IntToStr(spk^.inf));
spk:=sp;
end;
sp:=spk^.A;
until spk^.A = nil;

if spk^.Inf < 0 then
begin
Dispose(Spk);
spk:=sp
end
else
form1.ListBox4.Items.Add(IntToStr(spk^.inf));
spk:=sp;
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.listbox4.Clear;
verh:=nil;
end;



Constructor Tspisochek.Create;
begin
{ne }

end;
end.
Соседние файлы в папке сортировка,очистить
  • #
    15.06.20144.79 Кб11Unit1.dcu
  • #
    15.06.20141.92 Кб11Unit1.dfm
  • #
    15.06.20141.2 Кб11Unit1.pas
  • #
    15.06.20141.2 Кб11Unit1.~pas
  • #
    15.06.20142.75 Кб12Unit2.dcu
  • #
    15.06.20141.59 Кб11Unit2.pas
  • #
    15.06.20141.87 Кб11Unit2.~pas