Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 18:05   #1
cabss
 
Регистрация: 11.12.2010
Сообщений: 4
По умолчанию

Доброго времени суток друзья!
У меня такая просьба:
Имеется односвязный список, в списке хранятся студенты, так вот, нужно отсортировать их по фамилии, только при этом менять не поля фамилии, а логичнее менять указатели на элементы.
Написал простной не замысловатый код, единственное не пойму почему он не работает.
p2-Свободный указатель.
begl2-указатель на голову списка.
endl2-указатель на конец списка.
temp1 и temp2 - временные переменные.

Код:
while form1.p2<>Nil do
      begin

           s:=form1.p2^.FAM;
           s2:=form1.p2^.next2^.FAM;

            If s>s2 then
                begin
                cansort:=true;
with form1 do
begin
new(temp1);
new(temp2);
if p2=Begl2 then
begin
begl2:=p2^.next2;
begl2^.next2:=p2;
p2^.next2:=begl2^.next2;
end
else if p2=Endl2 then
begin
temp1:=begl2;
while temp1^.next2^.next2^.next2<>nil do
temp1:=temp1^.next2;
endl2^.next2:=temp1^.next2;
endl2^.next2:=nil;
temp1^.next2^.next2:=endl2;
end
else
begin
temp1:=p2^.next2;
temp2:=p2^.next2^.next2;
p2^.next2:=temp1.next2;
temp1^.next2:=temp2^.next2;
temp2^.next2:=temp1;


dispose(temp1);
dispose(temp2);
end;
end;
end;


       form1.p2:=form1.p2^.next2;
       end;
end;
end;
Большая просьба помочь!

Что никто незнает чтоли?

Последний раз редактировалось Stilet; 12.12.2010 в 20:43.
cabss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шейкер-сортировка пузырьком Biker29 Общие вопросы Delphi 2 11.12.2010 22:56
Сортировка пузырьком Авторитет Общие вопросы .NET 4 15.11.2010 19:50
Сортировка пузырьком на итераторах SimplyLesya Общие вопросы C/C++ 1 18.09.2010 22:50