Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сортировка пузырьком, улучшенный метод- проблема 
:(
    Опции темы
kuzyonok
Дата 25.4.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.4.2006
Где: Красноярск

Репутация: нет
Всего: нет



Есть примерный алгоритм сортировки улучшенным пузырьком (шейкера). но что то он не работает. не до конца сортирует. ПОМОГИТЕ!!!!!Пожалуйста!

Код

Procedure SortArray ( var DynArray : TArrayType ) ;
  var
    i , j , Temp, left, right : integer ;
  begin
  left:=2;
  right:=high ( DynArray );
  j:=high ( DynArray );
  repeat
  for i:=right downto left-1 do
  begin
   if DynArray[i-1]>DynArray[i] then
   begin
    Temp := DynArray [ i-1 ] ;
    DynArray [ i -1] := DynArray [ i ] ;
    DynArray [ i ] := Temp;
    j:=i;
   end;
  end;
   left:=i+1; 
   for i:=left to right+1 do
   begin
   if DynArray[i-1]>DynArray[i] then
   begin
    Temp := DynArray [ i-1 ] ;
    DynArray [ i -1] := DynArray [ i ] ;
    DynArray [ i ] := Temp ;
    j:=i;
    end;
    end;
    right:=j-1;
   until left>right
  end ; 
 

Это сообщение отредактировал(а) Girder - 26.4.2006, 09:29
PM MAIL ICQ   Вверх
Albinos_x
Дата 25.4.2006, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



что означает: не до конца?
и как определяется TArrayType ? 

Это сообщение отредактировал(а) Albinos_x - 25.4.2006, 19:56


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 25.4.2006, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



если я правильно понял идею:
Код

Type
   TArrayType = array of integer;

Procedure SortArray ( var DynArray : TArrayType ) ;
  var
    i,r,l,Temp,left,right:integer ;
  begin
  left:=1;
  l:=1;
  right:=length( DynArray );
  r:=right;
repeat
   for i:=left to right-1 do
      begin
      if DynArray[right-i-1]>DynArray[right-i] then
         begin
         Temp:=DynArray[right-i-1] ;
         DynArray [right-i-1]:=DynArray [right-i] ;
         DynArray [right-i]:=Temp;
         l:=right-i-1;
         end;
      if DynArray[i-1]>DynArray[i] then
         begin
         Temp:=DynArray[i-1] ;
         DynArray[i-1]:=DynArray[i];
         DynArray[i]:=Temp;
         r:=i+1;
         end;
      end;
    r:=r-1;
    right:=r;
    l:=l+1;
    left:=l;
   until left>=right
end ;


PS: пользуйтесь тегами [code=delphi] 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1084 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.