Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Двусвязный список, вывод в обратном порядке 
V
    Опции темы
Dobermann
Дата 3.7.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



volvo877, помоги с обратным выводом двусвязного списка...
Мой вариант работает, но вот только чёт мне кажется слишком много кода?!?!?!
По моему я не правильно сохранял next-ветки при задании списка?!?!?!
Код

uses crt;
type DubleStack = ^Stack;
            mmm = array[0..100] of integer;
       Stack = record
          id: byte;
   next,pred: DubleStack;
        end;

var bmw: DubleStack;
    mas: mmm;
    k,i: integer;

procedure ZapVSp(var one: DubleStack);
var p, zopa: DubleStack;
          i: integer;
begin
  for i:= 1 to k do
    begin
      new(p);
      write('Vvedite znachenie ',i,'-go elementa: ');
      readln(p^.id);
      p^.pred:=one;
      one^.next:=p;          // вот так сохранял next-ветки
      one:=p;

    end;
end;

procedure WriteSp;
var i,c: integer; ququ: DubleStack;
begin
  ququ:=bmw;
  writeln('V kakom poriadke vivodit" ?, 1 or 2');
  readln(c);
  case c of
1:
     for i:=1 to k do begin write(ququ^.id,' -|- '); ququ:=ququ^.pred; end;
2:                                                             //  Вот вывод в обратном порядке
     for i:=1 to k do begin       // вроде я не спортивно перебрался к                                                   
        ququ:=ququ^.pred;    //  первому элементу стека ?!?!?!
        if i=k then begin          
         for i:=1 to k do begin      
           ququ:=ququ^.next;     
           write(ququ^.id,' -|- ');
          end;
          end;
     end;
end;
end;

begin
  clrscr;
  write('Vvedite kol-vo elementov: '); readln(k);
  bmw:=nil;
  ZapVSp(bmw);
  WriteSp;
  readkey;
end.


Добавлено через 1 минуту и 5 секунд
Я знаю, ты можешь  smile  smile  smile  smile  smile 
PM   Вверх
Dobermann
Дата 8.7.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



сделал... 
closed 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.