IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Стеки
-Наська-
сообщение 15.12.2007 21:37
Сообщение #1


Гость






Блин эти фиговы штуки... Теорию поняла... хочу вывести в Мемо. как ето сделать? blink.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Scorp_Freeman
сообщение 16.12.2007 10:46
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 68
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Memo1.Clear;

bufS:=stek;
while bufS<>nil do
begin
Memo1.Lines.Add(bufS.FIO);
bufS:=bufS.Prev;
end;

где stek-вершина стека, bufS.Prev-указатель на предыд. узел, bufS.FIO - поле которое хочешь вывести
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Наська-
сообщение 16.12.2007 19:53
Сообщение #3


Гость






Смотрите такой прикол - у меня генериться рандомно стек из 10 элементов. у мя есть кнопка добавить и так как ето стек, то "последний пришел, первый вышел". Мну не знаю. это к одной кнопке две функции привязать. че написать что б первый убирал. или просто как со списком сделать. или эту функцию оставить?

procedure TStack.Push(a: string);
var P:PNode;
begin
new(P);
P.Next := head;
head := P;
P.Info := a;
Stsize := Stsize + 1;
end;

procedure TStack.Pop (var a: string);
var P: PNode;
begin
if not Empty then
begin
P := FNode;
FNode := P.Next;
a := P.Info;
dispose(P);
end;
end;

{кнопка вставить}
procedure TForm1.Button1Click(Sender: TObject);
var
ch: string;
i: integer;
begin
{Stack := TStack.Create;}
i := 1;
ch := Memo2.Lines [0];
Stack.Push(ch);
{stack.Pop(head); }
inc(i);
end;

{кнопка список}
procedure TForm1.Button2Click(Sender: TObject);
var
P: Pnode;
begin
Memo1.Clear;
New(P);
P := head;
while P <> nil do
begin
Memo1.Lines.Add(P.Info);
P := P.Next;
end;
dispose(p);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
P: PNode;
begin
stolbik:='';
p := head;
Randomize;
for n:= 1 to 10 do
begin
new (p);
p.Info:= IntToStr(Random(15));
stolbik := '';
p.Next := head;
head := p;
stolbik := stolbik + p.Info + #13;
p := p.Next;
end;
end;


 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 14.07.2025 15:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"