Cho dãy A có N số nguyên a1, a2,...,aN. Sắp xếp số hạng để dãy A thành dãy không tăng. a) Xác định bài toán b) Nếu ý tưởng c) Viết thuật toán ( liệt kê hoặc sơ đồ khối)
2 câu trả lời
* 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 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 thì đổi chỗ hai số hạng
- Lặp đi lặp lại công việc này cho tới khi không còn sự đổi chỗ nào xảy ra nữa
* Thuật toán :
- Bước 1 : nhập n và 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 đã 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ới ai + 1 cho nhau
- Bước 8 : quay lại bước 5
Câu hỏi trong lớp
Xem thêm