unit Unit1;

interface

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

type
TForm1 = class(TForm)
ListBox1: TListBox;
Label1: TLabel;
Edit1: TEdit;
Button2: TButton;
Label2: TLabel;
Button3: TButton;
Button4: TButton;
Edit2: TEdit;
Label3: TLabel;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Memo1: TMemo;
Label4: TLabel;
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;




var
Form1: TForm1;
kol:integer;
implementation

{$R *.dfm}
uses Unit2;
var
S:TLists;
procedure TForm1.Button8Click(Sender: TObject);
var
i,inf:integer;
begin
listbox1.Clear;
randomize;
kol:=StrToInt(Edit1.Text);
s:=TLists.create; // создаем стек s
for i:=1 to kol do
begin
s.Adds(Random(20)-10); // заносим число в стек
ListBox1.Items.Strings[i-1]:=IntToStr(s.sp.info); // выводим его
end;
s.spk:=s.sp1; // запоминаем адрес вершины






end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
s.Adds(StrToInt(Edit2.Text));
inc(kol);

ListBox1.Items.Strings[kol-1]:=Edit2.Text;
Edit2.Clear;
s.spk:=s.sp1; // запоминаем адрес вершины

end;

procedure TForm1.Button6Click(Sender: TObject);
var
numr:integer;
inf:integer;
begin
s.sp1:=s.spk; // устанавливаем вершину на запомненное ранее положение
inf:=StrToInt(Edit2.Text);
s.Poisk(inf,kol,numr);
if numr=0 then
Memo1.Lines.Add('Нет такого элемента!') else
Memo1.Lines.Add('Искомый элемент '+IntToStr(numr)+'-й от вершины');
end;

procedure TForm1.Button3Click(Sender: TObject);
var
inf,i:integer;
begin
ListBox1.Clear;
s.sp1:=s.spk; // устанавливаем вершину на запомненное ранее положение
s.sp:=s.sp1; // устанавливаем первый элемент на вершину
s.SortBubInfo;
for i:=1 to kol do
begin
s.reads(inf);
ListBox1.Items.Strings[i-1]:=IntToStr(inf);
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
inf,i,a,b:integer;
m:string;
begin
ListBox1.Clear;
s.sp1:=s.spk; // устанавливаем вершину на запомненное ранее положение
s.sp:=s.sp1; // устанавливаем первый элемент на вершину
s.SortBubAfter;
for i:=1 to kol do
begin
s.reads(inf);
ListBox1.Items.Strings[i-1]:=IntToStr(inf);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
s.sp1:=s.spk; // устанавливаем вершину на запомненное ранее положение
s.sp:=s.sp1; // устанавливаем первый элемент на вершину
listbox1.Clear;
s.Variant(listbox1,kol);
end;

end.
Соседние файлы в папке поиск,добавление элемента, сортировки, удаление отриц
  • #
    15.06.20146.91 Кб10Unit1.dcu
  • #
    15.06.20143.04 Кб11Unit1.dfm
  • #
    15.06.20143.05 Кб11Unit1.pas
  • #
    15.06.20143.18 Кб10Unit1.~pas
  • #
    15.06.20142.75 Кб10Unit2.dcu
  • #
    15.06.20143.04 Кб10Unit2.pas
  • #
    15.06.20142.54 Кб10Unit2.~pas