いくつかの一般的なアルゴリズム

1. バブルソート

 隣接する 2 つの要素を比較および交換して配列をソートする

関数sort1(arr){

for(let i = 0; i < arr.length - 1; i++){

   for(let j = 0; j<arr.length - i; j++){

       if(arr[i]>arr[j+1]){

         temp = arr[i]にします

         arr[i] = arr[j]

         arr[j] = 温度

         }

     }

  }

arrを返します。

}

2. 選択ソート 

ソートされていない配列から最小の要素が選択されるたびに、ソートされた配列の最後に配置され、配列が完成するまでこのプロセスが繰り返されます。

function sort2(arr){            const n=arr.length            for(let i=0;i<n-1;i++){                let minIndex=i                for (let j=i+1;j<n;j++){                    if( arr[j]<arr[minIndex]){                        minIndex=j                    }                }                if(minIndex!=i){                    [arr[i],arr[minIndex]]=[arr[minIndex],arr[i]]                }             }            returnああ、}













3. 挿入ソート

配列をソートされた部分とソートされていない部分に分割します。最初、ソートされた部分には 1 つの要素のみが含まれます。すべての要素がソートされるまで、そのたびに未ソートの部分から要素が選択され、ソートされた部分の正しい位置に挿入されます。

 function sort3(arr){           const n = arr.length           for(let i = 1;i<n;i++){               const key = arr[i]               let j = i-1;               while(j >=0&&arr[j]>key){                   arr[j+1] = arr[i]                   j--;               }               arr[j+1]=key           }           arr を返します。       }











4. クイックソート

参照要素を選択し、配列を 2 つの部分に分割します。一部の要素は参照要素より小さく、要素の他の部分は参照要素より大きく、2 つの部分を再帰的に並べ替えます。

関数 sort4(arr,left,right){          if(left>right){              const pivotIndex = getpivotIndex(arr,left,right)              sort4(arr,left,pivotIndex-1)              sort4(arr,pivotIndex+1,right)          }          return arr      }      function getpivotIndex(arr,left,right){          const pivot = arr[right]          let i =left-1          for(let j = left;j<right;j++){              if(arr[j] <= pivot){                  i++                  [arr[i],arr[j]] = [arr[i],arr[j]]              }          }          [arr[i+1],arr[right]] = [arr[right],arr[i+ 1]]

















         i + 1 を返します。     
     }

おすすめ

転載: blog.csdn.net/and_life/article/details/131068329