Сортировка списка

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Сортировка списка

Не работали тэги

dr.Jekill » 12 мар 2009, 13:12

Переставил IE на FireFox все стало нормально функционировать.

Re: Сортировка списка

Игорь Акопян » 12 мар 2009, 12:00

ещё можно так:
[syntax=pascal]
procedure Sort_Spisok(list :p item);
var D1 :p item;
begin
D1:=head;
D1^.info:=list^.info;
repeat
while listnil do
begin
if (list^.info > D1^.info) then
D1^.info:=list^.info;
list:=list^.next;
end;
D1:=D1^.next;
until D1=nil;
end;
[/syntax]

для этого нужно вручную написать тэг [noparse][syntax=pascal] ваш код [/syntax] [/noparse]

Re: Сортировка списка

Игорь Акопян » 12 мар 2009, 11:59

dr.Jekill, отредатировал ваш пост
убрал тэг, сформировал нужную структуру (вы же не думали что этот тэг сам отступы сформирует? - он только выводит код моноширинным шрифтом и не даёт движку начальные пробелы в строке резать)
далее выделил код и нажал кнопку - появился тэг с двух сторон выделения - пост сообщения - всё нормально

Re: Сортировка списка

dr.Jekill » 11 мар 2009, 11:21

Разобрался. Naeel, cпаcибо.

Re: Сортировка списка

dr.Jekill » 10 мар 2009, 14:23

Вот немного подправил.

Код: Выделить всё

procedure Sort_Spisok(list:pitem);
var D1:pitem;
begin
  D1:=head;
  D1^.info:=list^.info;
  repeat 
    while listnil do   
    begin    
      if (list^.info > D1^.info) then 
        D1^.info:=list^.info;   
      list:=list^.next;   
    end; 
    D1:=D1^.next;
  until D1=nil;
end;

Re: Сортировка списка

Naeel Maqsudov » 10 мар 2009, 13:37

Ну что ее смотреть? Опять глобальные переменные....
Для начала посмотрите, все ли там точно осталось после моей правки?
(Вы тэг закрыли неправильно.)

Re: Сортировка списка

dr.Jekill » 10 мар 2009, 13:23

Посмотрите, пожалуйста, эту процедуру.

Код: Выделить всё

procedure Sort_Spisok;
begin
  D1:=head;
  D1^.info:=D^.info;
  repeat
    while D<>nil do  begin
      if (D^.info > D1^.info) then D1^.info:=D^.info;
      D:=D^.next;
    end;
    D1:=D1^.next;
  until D1=nil;
end;

Re: Сортировка списка

Naeel Maqsudov » 08 мар 2009, 11:46

Ранее я уже показал, как производится вставка элемента на определенное место. Теперь создать новый список. А затем последовательно брать элементы из исходного и добавлять в новый, но предварительно вычислять местоположение.

Берем очередной элемент и его строку S.
Просматриваем новый список сначала, и бежим по нему до тех пор пока S < строки следующего элемента. После текущего элемента и надо произвести вставку.
Особое условия - это когда следующего элемента нет (добавление в конец) и когда S < строки первого элемента (добавление в начало)

Сортировка списка

dr.Jekill » 08 мар 2009, 01:41

С клавиатуры вводятся слова и помещаются в D-список (info:string). Построить ещё один список, который содержит элементы исходного списка, расположенные по возрастанию.Вид списка может быть любой. Я делал на основе очереди. На второй части зациклился. Есть у кого какие идеи?

Вернуться к началу