挿入ソートアルゴリズム
各要素を適切な位置に挿入する安定で効率的なソートアルゴリズムを学ぼう
O(n²)
時間計算量
O(1)
空間計算量
初級
難易度
ソート
カテゴリ
🔧 実行設定
配列:
[5, 2, 4, 6, 1, 3]
要素数:
6
📥
アルゴリズムを実行してください
左側の設定パネルから条件を設定し、「挿入ソート実行」ボタンを押してください
💻 実装例(JavaScript)
function insertionSort(arr) {
const n = arr.length;
const sortedArray = [...arr]; // 元の配列を変更しない
for (let i = 1; i < n; i++) {
const key = sortedArray[i]; // 挿入する要素
let j = i - 1;
// キーより大きな要素を右にシフト
while (j >= 0 && sortedArray[j] > key) {
sortedArray[j + 1] = sortedArray[j];
j--;
}
// キーを適切な位置に挿入
sortedArray[j + 1] = key;
}
return sortedArray;
}
// 使用例
const unsortedArray = [5, 2, 4, 6, 1, 3];
const sortedArray = insertionSort(unsortedArray);
console.log(sortedArray); // [1, 2, 3, 4, 5, 6]