javascript版のクイックソートアルゴリズム

1273 ワード

クイックソート
効率的なソートアルゴリズムです.各ラウンドは基准より小さいのを左に置いて、基准より大きいのを右に置いて、この文章はただ過程を記録して、図を盗用して過程を見ます.
原文のリンク
余計なことを言わないでください.この文章は主に私の実現過程を記録します.

    var list = [6,5,5,10,24,2,4];
      function quickSort(list,left,right){
          if(left < right){
            pivotIndex = partition(list,left,right);
            quickSort(list,left,pivotIndex - 1);
            quickSort(list,pivotIndex + 1 ,right);
          }
          return list;
        
      }

      function partition(list ,left,right){
          pivot = list[left];
          while( left < right){
            while(list[right] > pivot && left < right){
              --right;
            }
            list[left] = list[right];
            while(list[left] <= pivot && leftright,            
              ++left;
            } 
            //              ,         ,       
            if(list[right] != list[left]){
              list[right] = list[left];
            }
           
          }
         list[left] = pivot;
          return left;
      }
     
      console.log(quickSort(list,0,list.length - 1))
これらの文章の書き方も参考にしました.漫画の並べ替えは何ですか?
前はずっと分かりませんでしたが、後で資料を調べて、自分ではどうしたのか分かりました.アルゴリズムは自分で手動で実現しなければ分かりません.