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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2011, 20:05   #11
leshij
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 14
По умолчанию

до N-1 всеровно не работал...
но всё уже проблема решенна..
Вот может кому пригодится..рабочий метод Шейкера
Код:
 procedure SheikerSort(var A: array of integer; var N: integer; var S, P: integer);
var
  last, l, r, i: integer;
begin
  last:= N;
  l:= 0;
  r:= N-1;
  S:=0;
  P:=0;
  while l < r do
  begin
    for i:= r downto 1 do
    begin
      inc(S);
      if A[i] < A[i-1] then
      begin
        change(A[i-1], A[i]);
        last:= i;
        inc(P);
      end;
    end;
    l:= last;   
    for i:= 1 to r do
    begin
      inc(S);
      if A[i] < A[i-1] then
      begin
        change(A[i-1], A[i]);
        last:= i;
        inc(P);
      end;
    end;
    r:= last;  
  end;
end;
leshij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальный элемент в строке Nikita++ Помощь студентам 1 23.10.2010 15:46
Максимальный элемент матрицы maloy-rom Помощь студентам 1 24.12.2009 00:17
Максимальный элемент матрицы gessi Паскаль, Turbo Pascal, PascalABC.NET 2 14.09.2009 09:23
Максимальный элемент массива j_Q Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.11.2008 22:48