[JavaScript] --- алгоритм быстрой сортировки (воспроизведен самоучитель Alley- аллея)

Во-первых, концепция быстрой сортировки

  Мы проведем бессистемный массив с быстрой сортировки, может занять промежуточное начальное значение с массивом, массив делится на 2, левая часть массива сравнивается с медианой, небольшой на левой стороне, на правой стороне большой , Сравнение После завершения промежуточного значения снова, снова аналогия Сравнительное
 
Во-вторых, идея
 
  Подстрочный 1, промежуточное значение берется, а промежуточные значения
 
  2, чтобы создать левый пустой массив, хранилище данных меньше, чем промежуточное значение
 
  3, право создать пустой массив сохраненных данных больше, чем промежуточное значение
 
  4, рекурсивное условие окончания, если длина массива равна 1, когда массив возвращается
 
  5, массив делится на два цикла
 
  6, рекурсивная

 

 
В-третьих, код
Скопировать код
Функция быстрой сортировки (обр) { 
    если (arr.length <2) { 
        возвращение обр; 
    } 

    Вар midIndex = arr.length% 2 == 0? arr.length / 2: (arr.length + 1) / 2; 
    вар среднего = обр [midIndex]; 

    вар слева = []; 
    вар вправо = []; 
    
    для (вар я = 0; я <arr.length; я ++) { 
        если (я = midIndex && обр [я] <= середина!) { 
            left.push (обр [я]); 
        } 

        Если (я! = MidIndex && обр [я]> середине) { 
            right.push (обр [я]) 
        } 
    } 

    вернуть быстрой сортировки (слева) .concat (середина) .concat (быстрая сортировка (справа)) 
}
Скопировать код

рекомендация

отwww.cnblogs.com/mp-0518/p/11440536.html
рекомендация