Mã giả
Bài học 4 trên 9 trong khóa học Sắp xếp chọn, chuỗi DSA của Coddy.
for i = 0 to n-1:
minIndex = i
for j = i+1 to n-1:
if array[j] < array[minIndex]:
minIndex = j
swap array[i] and array[minIndex]Hãy liên hệ mã giả với ý tưởng này:
- i đánh dấu ranh giới giữa phần đã sắp xếp và phần chưa sắp xếp. Mọi thứ trước i đã được sắp xếp.
- minIndex ghi nhớ vị trí của phần tử nhỏ nhất tìm được cho đến lúc đó trong phần chưa sắp xếp.
- Vòng lặp bên trong duyệt qua phần chưa sắp xếp bằng j để tìm phần tử nhỏ nhất thực sự.
- Sau vòng lặp bên trong, ta đổi chỗ phần tử nhỏ nhất vào vị trí i, giúp phần đã sắp xếp dài thêm một phần tử.
Tự làm thử
Bài học này không có thử thách code.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Sắp xếp chọn, chuỗi DSA
Tự luyện tập: Trình biên dịch C online