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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2010, 23:35   #1
Паскалька^^
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 53
Вопрос Процедура сортировки с подсчётом перестановок и сравнений (Паскаль)

Ребят, помогите, пожалуйста, написать процедуры сортировки массива Шелла и Хоара с подсчётом перестановок и сравнений...

Для Хоара вроде написала, но есть ошибка...а в чём - не пойму((

Код:
procedure QuickSort (var item:array of byte; l,cnt:longint; var sr, per:longint);

  function more_than (a,b:longint):boolean;
  begin
    more_than:= a <= b;
    inc(sr);
  end;

  procedure qs(l,r:longint; var it:array of byte);
  var
    i, j: longint;
    x, y: longint;
  begin
    sr:=0; per:= 0;
    i:=l; j:=r;
    x:=it[(l+r) div 2];
    repeat
        while it[i]<x do i := i+1;
        while x<it[j] do j := j-1;
        if more_than (y, j) then begin
            y := it[i];
            it[i] := it[j];
            it[j] := y;
            i := i+1; j := j-1;
            inc(per);
        end;
    until i>j;
    if l<j then qs(l, j, it);
    if l<r then qs(i, r, it)
  end;

begin
  qs(l,cnt,item);
end;
Паскалька^^ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать число сравнений DEADmoroz333 Общие вопросы C/C++ 1 16.12.2009 21:05
Паскаль методы сортировки Igomax Помощь студентам 5 24.10.2009 15:59
Паскаль. процедура сортировки числового массива методом выбора Оксаночка:) Помощь студентам 2 24.08.2009 11:41
поиск кратчайшей сортировки, с минимальным кол-вом перестановок sad8c Помощь студентам 9 14.12.2007 10:23