[Javascript選択Sort(選択ソート)実装コード
5645 ワード
選択ソート(Selection Sort)
これは、現在の値を現在の値以外の要素の最小値と比較して交換するソートです.
バブルソートが最大値を後ろに押す方法である場合、ソートを選択することは、最小値を前に押す方法です.
2つの隣接する要素のBubbleソート方式を比較するだけであれば.
選択ソートは、選択の最小値の後で比較されるため、選択ソートと名付けられます.
首都コード
1. 이중 반복문을 선언한다
2. 첫 번째 반복문 : 현재값 i를 순회하는 반복문
2-1. 최소값의 인덱스를 담을 변수를 선언한다. 초기값은 현재값 i
3. 두 번째 반복문 : 비교값 j를 순회하는 반복문
3-1. 최소값과 비교값을 비교한 후 더 작은 수의 인덱스를 최소값 변수에 할당한다
4. 두 번째 반복문이 끝난 후 최소값의 인덱스와 i를 비교한다
4-1. 두 인덱스가 같지 않다면 스왑한다.
5. 정렬된 배열을 리턴한다.
コード実装
const arr = [1, 9, 8, 16, 5, 2, 7, 3];
// swap 헬퍼 함수
function swap(arr, i, j) {
[arr[i], arr[j]] = [arr[j], arr[i]];
return arr;
}
function selectionSort(arr) {
for (let i = 0; i < arr.length; i++) {
let minIndex = i;
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
minIndex = j;
}
}
if (i !== minIndex) swap(arr, i, minIndex);
}
return arr;
}
const result = selectionSort(arr);
console.log(arr); // [1, 2, 3, 5, 7, 8, 9, 16]
Reference
この問題について([Javascript選択Sort(選択ソート)実装コード), 我々は、より多くの情報をここで見つけました https://velog.io/@dongoc21hj/Javascript-Selection-Sort-선택-정렬-구현-코드テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol