ソートアルゴリズム
5818 ワード
クイックソート
const quickSort = function (arr, callback = (n) => n) {
// 이 부분이 재귀 종료 조건(탈출 조건)
if (arr.length <= 1) { return arr; }
// 기준점은 [0] 또는 (arr.length-1) 또는 (arr.length/2)
let mid = arr[0]; // 기준점을 잡음
let front = [];
let rear = [];
// 기준점을 [0]으로 잡았으므로, 1번부터 시작
for (let i = 1; i < arr.length; i++) {
if (callback(arr[i]) >= callback(mid)) {
rear.push(arr[i]);
} else {
front.push(arr[i]);
}
}
// 재귀로 front와 rear를 돌려준다
const frontSort = quickSort(front, callback);
const rearSort = quickSort(rear, callback);
// 재귀로 돌린 결과를 합쳐서 리턴한다
return [...frontSort, mid, ...rearSort];
}
連結ソート(連結ソート、連結ソート)
カウントソート
リンクテキスト
ベースソート
リンクテキスト
Reference
この問題について(ソートアルゴリズム), 我々は、より多くの情報をここで見つけました https://velog.io/@ebiny/정렬-알고리즘テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol