정렬 법 선택 (이분법)

먼저 레버 를 찾 습 니 다. (우 리 는 이 레버 를 배열 0 항 으로 설정 합 니 다)
var pivot = array[0]; //  

  각각 레버 보다 큰 수 와 레버 보다 작은 수 를 한쪽 에 놓는다.
if(array[i] > pivot)
 {
   max.push(array[i]);
 }
    else
 {
    //      
   min.push(array[i]);
 }

  종합 하여 쓰다.
    
        /*     */
        function quickSort(array)
        {
			if(array.length <= 1)
			{
				return array;
			}

            var pivot = array[0]; //  
            var max = []; //      
            var min = []; //      

            for(var i = 1; i < array.length; i++)
            {
            	//           ,        
            	if(array[i] > pivot)
                {
                	max.push(array[i]);
                }
                else
                {
                	//      
                	min.push(array[i]);
                }
            }

            return quickSort(min).concat(pivot, quickSort(max));
		}

		var array = [45, 18, 89, 10, 6, 58, 99, 42, 25];

        console.log(quickSort(array));
        
    

좋은 웹페이지 즐겨찾기