Sắp xếp chọn là gì? Giới thiệu giải thuật Selection sort trong C/C++ giúp sắp xếp mảng theo thứ tự đơn giản, nhanh chóng. Xem thêm thuật toán Selection sort có code mẫu
Selection sort
Selection sort còn được gọi là thuật toán sắp xếp chọn. Thuật toán này sẽ giúp so sánh các phần tử trong mảng với nhau để tìm các phần tử có giá trị nhỏ nhất hoặc lớn nhất (tùy theo thứ tự sắp xếp). Sau đó đẩy các giá trị ấy về phía đầu của mảng để tạo thành một dãy số sắp xếp theo thứ tự hoàn chỉnh.
Ví dụ thuật toán sắp xếp chọn - Selection Sort
Ý tưởng thuật toán sắp xếp chọn dưới đây sẽ sắp xếp mảng theo thứ tự từ bé đến lớn (tăng dần). Bạn có thể thực hiện tương tự cho trường hợp sắp xếp từ lớn đến bé (giảm dần)
Với thuật toán sắp xếp, ta chia mảng thành các phần sau:
Quá trình sắp xếp diễn ra như sau:
Ý tưởng thuật toán sắp xếp chọn - Selection Sort
Bước 1: Chạy vòng lặp for (i = 0; i < n-1; i++) để di chuyển ranh giới của mảng đã sắp xếp và chưa sắp xếp.
Bước 2: Chạy vòng lặp for (j = i+1; j < n; j++) để tìm số nhỏ nhất a[min] trong dãy số chưa sắp xếp.
Bước 3: Hoán vị a[min] và a[i].
Bước 4: Liên tục lặp lại 3 bước trên cho đến khi sắp xếp dãy theo thứ tự đúng thì ngừng.
Giải thuật sắp xếp chọn - Selection Sort
Code: Thuật toán sắp xếp chọn selection sort
Input và Output
Hy vọng bài viết này sẽ giúp bạn làm chủ được Selection sort để ứng dụng vào công việc một cách hiệu quả nhất nhé. Chúc các bạn thực hiện thành công!
Trung tâm chuyên sửa chữa thay thế, bảo hành miễn phí, nhượng quyền thương hiệu trungtambaohanh.com + marketing.