Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 25
  1. #1
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±

    's Алгоритмы сортировки

    Из всего этого списка выбрал 3 самых быстрых алгоритма:

    Сортировка выбором(почитать):
    PHP код:
    SelectionSort(_array[], size sizeof _array){
        for(new 
    0value 00swap 0!= size 1i++){
            
    value i;
            for(
    1!= sizej++){
                if(
    _array] > _arrayvalue ])//max to min
                    
    value j;
            }
            if(
    value != i){
                
    swap _array];
                
    _array] = _arrayvalue ];
                
    _arrayvalue ] = swap;
            }
        }

    Сортировка пузырьком(почитать):
    PHP код:
    BubbleSort(_array[], size sizeof _array){
        for(new 
    00swap 0!= sizei++) {
            for( 
    j++ ) {
                if(
    _array[i] > _array[j]){//max to min
                    
    swap _array[i];
                    
    _array[i] = _array[j];
                    
    _array[j] = swap;
                }
            }
        }

    Гномья сортировка(почитать):
    PHP код:
    GnomeSort(_array[], size sizeof _array){
        for( new 
    1swap!= size;  ){
            if(
    _array] >= _array]) ++ j;//max to min
            
    else{
                
    swap _array];
                
    _array] = _array];
                
    _array] = swap ;
                -- 
    j;
                
                if( 
    == 0)
                    
    1;
            }
        }

    10000 чисел пересортировало с таким результатом:
    PHP код:
    [08:35:42gnome380ms
    [08:35:42bubble294ms
    [08:35:43selection155ms 
    На маленьких дистанциях они равны:

    PHP код:
    [08:36:24gnome0ms
    [08:36:24bubble0ms
    [08:36:24selection0ms 
    Ссылки на материалы указаны.
    Последний раз редактировалось Seregamil; 09.02.2014 в 12:35.

  2. 9 пользователя(ей) сказали cпасибо:
    $continue$ (23.07.2015) codeo (23.07.2014) Glant (01.11.2016) MR_BEN (07.03.2014) Neshta (16.11.2014) Salvacore (06.03.2014) V[a]mPiR (02.03.2014) [ForD] (16.11.2014) _lizard (04.09.2016)
  3. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,276
    Репутация:
    418 ±
    ммм.
    Спасибо.

  4. #3
    Аватар для V[a]mPiR
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.01.2014
    Сообщений
    21
    Репутация:
    3 ±
    вот это, то что надо, часто нужны подобные алгоритмы

  5. #4
    Аватар для A N D R E Y
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.12.2013
    Сообщений
    149
    Репутация:
    14 ±
    Может вопрос тупой, но для чего это все можно использовать?

  6. #5
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    Цитата Сообщение от A N D R E Y Посмотреть сообщение
    Может вопрос тупой, но для чего это все можно использовать?
    Топ система например

  7. #6
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Отлично, но не плохо бы было показать использование цикла.

  8. #7
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    Цитата Сообщение от Bublik_Public Посмотреть сообщение
    Отлично, но не плохо бы было показать использование цикла.
    PHP код:
    new values12 ] = { 1,5,7,3,3,6,5,25,46,357,64,};
    gnomeSortvalues ); 

  9. Пользователь сказал cпасибо:
    Neshta (16.11.2014)
  10. #8
    Аватар для NewGreen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    61
    Репутация:
    44 ±
    Удобная вещь, можно использовать во многих этапах разработки, хоть даже, отсортировать массив победителей какой либо игры, но не важно, каждый сам решает.
    Поправочка:
    На маленьких дистанциях они равны:
    PHP код:
    [08:36:24gnome0ms
    [08:36:24bubble0ms
    [08:36:24selection0ms 
    Они не равны, просто результат/время находится в дробной части, которой не видно т.к. значение целое.

  11. #9
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Глупый вопрос, но зачем _ перед переменной?

  12. #10
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Глупый вопрос, но зачем _ перед переменной?
    Типо так удобней читать))
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •