📝 Mã nguồn Selection Sort

function selectionSort(arr) {
  // Duyệt qua từng vị trí trong mảng
  for (let i = 0; i < arr.length - 1; i++) {
    // Giả sử phần tử tại vị trí i là nhỏ nhất
    let minIndex = i;
    // Tìm phần tử nhỏ nhất trong phần chưa sắp xếp
    for (let j = i + 1; j < arr.length; j++) {
      // So sánh với phần tử nhỏ nhất hiện tại
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
    }
    // Hoán đổi phần tử nhỏ nhất với phần tử đầu tiên
    if (minIndex !== i) {
      let temp = arr[i];
      arr[i] = arr[minIndex];
      arr[minIndex] = temp;
    }
  }
}

📊 Trực quan hóa

Chưa sắp xếp
Đang so sánh
Phần tử nhỏ nhất
Đã sắp xếp
Sẵn sàng để bắt đầu! Nhấn "Chạy thuật toán" để xem demo.

📜 Lịch sử thực thi

💡 Chào mừng! Nhấn "Chạy thuật toán" để bắt đầu và theo dõi từng bước thực hiện.