Cho dãy số 4 gồm n số nguyên phân biệt Ao, A,, A,,..., A n-1'


Sách bài tập Tin học 11 Bài 8: Lập trình một số thuật toán sắp xếp - Cánh diều

Câu Fcs33 trang 57 SBT Tin học 11: Số lần đổi chỗ.

Cho dãy số 4 gồm n số nguyên phân biệt: Ao, A,, A,,..., A n-1'

Em có thể dùng thao tác sau: Chọn hai vị trí kề nhau i và i + 1 bất kì (0 <i<n − 1), nếu A, > A + , thì đổi giá trị của A với A, . .

i+1

cho nhau.

Em hãy thao tác trên mảng A, sao cho sau khi thực hiện tuần tự các thao tác, mảng 4 được sắp xếp tăng dần,

Yêu cầu: Hãy in ra số lần đổi giá trị và vị trí i và j của lần đổi chỗ đó. Dữ liệu: Nhập từ thiết bị vào chuẩn:

- Dòng đầu tiên chứa một số nguyên dương n.

Dòng thứ hai chứa n số nguyên theo thứ tự án, A0, A1, A2,...,An-1"

Kết quả: Hiển thị ở thiết bị ra chuẩn:

Dòng đầu tiên chứa số nguyên dương K là số thao tác bạn làm.

- Á dòng sau, dòng thứ i in ra hai số a," (0Śu<"< n) cho biết bạn sẽ đội giá trị của hai vị trí u, v cho nhau.

1111111

Lời giải:

Chương trình mẫu:

1111111

Ghi chú: Các thao tác được lưu vào một danh sách. Mỗi phần tử của danh sách là một tuple (khai báo bởi ( ) ). Tuple khá giống danh sách, nhưng các phần tử của nó không thể thay đổi giá trị.

Lời giải SBT Tin 11 Bài 8: Lập trình một số thuật toán sắp xếp hay khác:

Xem thêm các bài giải sách bài tập Tin học lớp 11 Cánh diều hay, chi tiết khác: