Помощь - Поиск - Пользователи - Календарь
Полная версия: Очереди
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Ilius
Задача которая находится ниже объединяет две очереди в одну с чередованием элементов очередей. Немогу понять что и чем надо заменить чтобы программа упорядочивала сначала каждую очередь по возрастанию и объединяла две эти очереди в одну с сохранением упорядочености элементов по возрастанию. blink.gif
 type    och=^elem;
        elem=record
        data:char;
        next:och
        end;
var p1,p2,p3,p4,p5,p6,q1,q2,t1,t2:och;
    im,i:char;
    j,k:integer;
procedure v(var p:och;i:char);
      begin new(p);
            p^.data:=i;
            p^.next:=nil;
      end;
procedure show(p:och);
      begin while p<>nil do
            begin write(p^.data,' ');
                  p:=p^.next;
            end;
            writeln
      end;
begin j:=1;
      writeln('введите первую очередь, окончание ввода - "?"');
      readln(i);
      v(p1,i);
      p2:=p1;
      repeat readln(i);
             if i<>'?' then
             begin v(p2^.next,i);
                   p2:=p2^.next;
                   j:=j+1;
             end
      until i='?';
      k:=1;
      writeln('введите вторую очередь,',j,' элементов');
      readln(i);
      v(p3,i);
      p4:=p3;
      for k:=2 to j do
      begin readln(i);
            v(p4^.next,i);
            p4:=p4^.next;
      end;
      writeln('первая очередь:');
      show(p1);
      writeln('вторая очередь:');
      show(p3);
      p5:=p1;
      p6:=p4;
      q1:=p1;
      q2:=p3;
      while q1<>nil do
      begin t1:=q1^.next;
            t2:=q2^.next;
            q1^.next:=q2;
            q2^.next:=t1;
            q1:=t1;
            q2:=t2
      end;
      writeln('итоговая очередь:');
      show(p5)
end.
 
klem4
Цитата
объединяла две эти очереди в одну с сохранением упорядочености элементов по возрастанию.

Опять же тебе поможет сортировка слияниями, я думаю. Воспользуйся поиском, были приведены примеры объединения списка (или стека) этим способом. Надо только приспособить метод под очередь.
Ilius
пожалуста напишите как будет выглядеть сортировка, а то я че то не нашел blink.gif
Ilius
Помогите пожалуста,а то завтра отчет по задаче здавать, скажите как будет выглядеть сортировка по возрастанию в этой задаче. wacko.gif wacko.gif wacko.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.