Secara teori, memang algoritma Insertion Sort ini tidak efisien. Akan tetapi, tidak ada salahnya untuk tetap dipelajari. Bahkan dalam prakteknya, untuk jumlah data yang kecil, Insertion Sort tetap berfaedah karena kesederhanaannya. Mari ikuti ulasannya di video berikut!
Berikut adalah implementasi yang dijabarkan. Pendek dan tidak sukar, bukan?
function sort(data) {
for (let i = 1; i < data.length; ++i) {
const p = data[i];
let j = i - 1;
while (j >= 0 && data[j] > p) {
data[j + 1] = data[j];
--j;
}
data[j + 1] = p;
}
return data;
}
let data = [2, 3, -7, 8, 0, 14];
console.log(sort(data));
Discussion