Ý tưởng thuật toán: xét dãy n phần tử a[0], a[1], a[2] ,..., a[n-1].
- Chọn trong dãy a[0], a[1], a[2] ,..., a[n-1] ra phần tử có khỏa nhỏ nhất và đổi chỗ nó với a[0].- Chọn trong dãy a[1], a[1], a[2] ,..., a[n-1] ra phần tử có khỏa nhỏ nhất và đổi chỗ nó với a[1].
- Tương tự, tiếp tục như thế sau n – 1 bước ta thu được danh sách có thứ tự.
Ví dụ: Sau 9 bước lặp ta thu được dãy đã được sắp xếp: {2, 3, 4, 5, 6, 6, 7, 7, 8, 9}.
[Mô phỏng]
Kết quả sau 9 bước lặp ta thu được dãy đã được sắp xếp: {2, 3, 4, 5, 6, 6, 7, 7, 8, 9}.
Tải Code sắp xếp chọn được viết bằng ngôn ngữ C++ trên Code::Blocks 10.05:
CODE SẮP XẾP CHỌN DẠNG CHẠY RA KẾT QUẢ
CODE SẮP XẾP CHỌN DẠNG CHẠY RA TỪNG BƯỚC