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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 15:17   #1
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
Печаль Сортировка слиянием Delphi 7

Здравствуйте, подскажите, пожалуйста, алгоритм сортировки массива слиянием? Или киньте ссылку на интернет ресурс.
Искал сам, нашёл только с использованием файлов, что мне не подходит...
Заранее спасибо.
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 17.05.2009, 15:53   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Код:
Program SlivSort;
Var A,B : array[1..1000] of integer;
    N  : integer; 
Procedure Sliv(p,q : integer); {процедура сливающая массивы}
Var r,i,j,k : integer;
Begin
 r:=(p+q) div 2;
 i:=p;
 j:=r+1;
 for k:=p to q do
 if (i<=r) and ((j>q) or (a[i]<a[j])) then
  begin 
   b[k]:=a[i];
   i:=i+1;
  end
 else
  begin
   b[k]:=a[j];
   j:=j+1;
  end ;
 for k:=p to q do
a[k]:=b[k];
End;
Procedure Sort(p,q : integer); {p,q - индексы начала и конца сортируемой части массива}
Begin
 if p<q then {массив из одного элемента тривиально упорядочен}
 begin
  Sort(p,(p+q) div 2);
  Sort((p+q) div 2 + 1,q);
  Sliv(p,q);
 end;
End;
Begin
 {Определение размера массива A - N) и его заполнение}
 …
 {запуск сортирующей процедуры}
 Sort(1,N);
 {Вывод отсортированного массива A}
  …
End.
А вообще прежде чем задавать вопрос нужно искать инфу самому. Глянь так же Здесь
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 17.05.2009, 16:09   #3
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Большое спасибо!
Учту ваше замечание.

А если дан массив из 1000 неповторяющихся элементов и его надо отсортировать?
My Life v1.0b ERROR: health.dll not found

Последний раз редактировалось xxxPascalxxx; 17.05.2009 в 16:22.
xxxPascalxxx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка двухфазным слиянием [MI_nor] Общие вопросы C/C++ 0 29.04.2009 23:27
сортировка естественным слиянием ArtFul777 Паскаль, Turbo Pascal, PascalABC.NET 1 18.11.2008 19:36