Cho Dãy A gồmN=8.Dãy A gồm các số nguyênlà : 9 ,11, 3, 25, 1, 18,20, 2.Hãy sử dụng thuật toán sắp xếp tráo đổi( sắp xếp dãy A thành dãy không tăng) Cách làm: Làm theo thứ tự các bước: 1.Xác định bài toán 2.Ý tưởng 3.Thuật toán( làm 1 trong 2 cách:Liệt kê và sơ đồ khối) 4.Ápdụng làm dãy số trên theo các lần duyệt như trong sách giáo khoa

2 câu trả lời

- Bước 1: Nhập N, các số hạng a1, a2,…, an;

   - Bước 2: M ← N;

   - Bước 3: Nếu M < 2 thì đưa ra dãy A đã được sắp xếp, rồi kết thúc;

   - Bước 4: M ← M – 1, i ← 0;

   - Bước 5: i ← i + 1;

   - Bước 6: Nếu i > M thì quay lại bước 3;

   - Bước 7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau;

   - Bước 8: Quay lại bước 5;




* Xác định bài toán :

- Input : Dãy A gồm N số nguyên a1, a2, ... , an

- Output : Dãy A được sắp xếp lại thành dãy không tăng

* Ý tưởng :

- Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước bé hơn số sau ta đổi chỗ chúng cho nhau. Việc đó được lặp đi lặp lại cho đến khi không có sự đổi chổ nào diễn ra nữa

* Thuật toán sắp xếp dãy không tăng :

- Bước 1 : nhập số n và các phần tử a1, a2, ... , an

- Bước 2 : m ← n

- Bước 3 : nếu m < 2 thì đưa ra dãy a đã được sắp xếp rồi kết thúc

- Bước 4 : m ← m - 1, i ← 0

- Bước 5 : i ← i + 1

- Bước 6 : nếu i > m thì quay lại bước 3

- Bước 7 : nếu a[i] < a[i + 1] thì tráo đổi a[i] và a[i + 1] cho nhau

- Bước 8 : quay lại bước 5

* Mô phỏng :

- n = 8

- Dãy 9,  11,  3,  25,  1,  18,  20,  2

Câu hỏi trong lớp Xem thêm