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

> ВНИМАНИЕ!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> очередь, на основе двусыязного списка
сообщение
Сообщение #1


Пионер
**

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

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


оказывается надо сделать на основе двусвязного списка unsure.gif
я описывал вот так:
type
PNode = ^Node;
Node = record
Info:Char;
Next:PNode;
end;
TQueue = class
private
head,tail:PNode;
public
function Empty:Boolean;
procedure Push (Value:Char);
procedure Pop (var Value:Char);
constructor Create;
destructor Destroy; override;
end;

а надо дописать
     L,R :PNode;

ну, левый и правый указатель

Пожалста объясните зачем в очереди хвосту и голове 2 указателя и помогите с реализацией
получается нам не хватает одного указателя? у меня просто и с одним работало, препода уже месяца нету а завтра зачёт cool.gif

я вот как реализовывал с одним указателем
procedure TQueue.Push (Value:Char);
var P:PNode;
begin
new(P);
p^.info:=value;
p^.next:=nil;
if empty then head:=p
else tail^.next := p;
tail:=p;
end;

procedure TQueue.Pop (var Value:Char);
var P:PNode;
begin
if not Empty then
begin
value:=head^.info;
p:=head;
head:=p^.next;
if head=nil then tail:=nil;
dispose(p);
end;
end;


... а с двумя просто на нил сводил один из них nea.gif
procedure TQueue.Push (Value:Char);
var P:PNode;
begin
new(P);
p.info:=value;
if empty then
begin
head:=p;
p.next:=nil;
end
else
begin
tail.R := p;
p.next:=tail;
end;
tail:=p;
end;

procedure TQueue.Pop (var Value:Char);
var P:PNode;
begin
if not Empty then
begin
value:=p.info;
p:=head;
head:=p.next;
if head=nil then tail:=nil;
dispose(p);
end;
end;


помогите плз rolleyes.gif


--------------------
Цитата
          .     .
           \__/
          (**)
(>:=:=:~~ 
  ^ ^ ^ ^ 

Креветка присваивания :DDD
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 25.04.2024 14:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name