Latihan 1 dari materi Quick Sort di Algoritma — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi quickSort(arr) di starter (base case-nya sudah ada) supaya mengembalikan array baru yang terurut dari kecil ke besar:
Ambil elemen pertama sebagai pivot: arr[0]. Sisanya arr.slice(1).
Pisahkan sisanya: left berisi angka yang lebih kecil dari pivot, right berisi angka yang lebih besar atau sama dengan pivot.
quickSort([4, 2, 9, 2, 7]).join(",") menghasilkan 2,2,4,7,9
Hint
Versi ini bikin array baru: pisahkan angka yang lebih kecil dari pivot dan yang lebih besar, urutkan dua kelompok itu dengan quickSort, lalu susun kiri, pivot, kanan.
Pakai arr[0] sebagai pivot dan arr.slice(1) sebagai sisanya. Method filter memisahkan sisanya jadi left (x < pivot) dan right (x >= pivot), supaya angka kembar gak hilang.
const pivot = arr[0]; const sisa = arr.slice(1); const left = sisa.filter(x => x < pivot); const right = sisa.filter(x => x >= pivot); return [...quickSort(left), pivot, ...quickSort(right)];
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...