Đề bài
Sắp xếp nổi bọt (Bubble Sort) là một trong những thuật toán đơn giản và dễ hiểu. Thuật toán sắp xếp nổi bọt thực hiện sắp xếp dãy phần tử bằng cách liên tục lập lại việc so sánh hai phần tử liền kề và hoán đổi vị trí của chúng nếu chung không theo thứ tự mong muốn. Quá trình này được lặp lại cho đến khi toàn bộ dãy đã được sắp xếp hoàn chỉnh.
Yêu cầu: Cho một dãy gồm phần tử hãy viết chương trình đêm số lần hoán đổi vị trí các phần tử theo thuật toán sắp xếp nổi bọt để sắp xếp dãy tăng dần.
Dữ liệu vàoSAPXEP.INP
Đọc từ file SAPXEP.INP gồm:
- Dòng thứ nhất chứa số nguyên dương
- Dòng thứ hai chứa số nguyên dương cách nhau bằng khoảng trắng
Kết quả raSAPXEP.OUT
Ghi ra file SAPXEP.OUT một số nguyên duy nhất cho biết số lần hoán đổi vị trí các phần tử theo thuật toán sắp xếp trên.
Ràng buộc
- 80% số điểm bài thi:
- 100% số điểm bài thi:
Ví dụ
4 3 2 1 4
3
Giải thích
Theo thuật toán sắp xếp nổi bọt có 3 lần hoán đổi vị trí các phần tử gồm:
- Hoán đổi vị trí hai phần tử (3, 2), dãy phần tử 2 3 1 4
- Hoán đổi vị trí hai phần tử (3, 1), dãy phần tử 2 1 3 4
- Hoán đổi vị trí hai phần tử (2, 1), dãy phần tử 1 2 3 4