Bài gợi ý: Sắp xếp không giảm
Tóm tắt: Cho một dãy gồm \(n\) số nguyên dương. Nhiệm vụ của bạn là sắp xếp lại các số này theo thứ tự từ bé đến lớn rồi in ra màn hình.
Chẳng hạn với \(6\) số: 91 451 43 3 451 54. Số nhỏ nhất trong dãy là \(3\), tiếp theo là \(43\), rồi đến \(54\), \(91\), và hai số \(451\) đứng ở cuối cùng. Kết quả sau khi xếp lại là 3 43 54 91 451 451.
Nếu làm thủ công, ta thường tìm số nhỏ nhất rồi nhặt ra trước, sau đó tìm tiếp số nhỏ nhì trong các số còn lại. Tuy nhiên, khi dãy có đến \(N = 10^4\) số, việc tự duyệt tìm từng số như vậy sẽ phải so sánh rất nhiều lần và dễ bị chậm thời gian.
Trong các ngôn ngữ lập trình, ta có sẵn công cụ sắp xếp (thuật toán sort) giúp máy tự đảo các số về đúng thứ tự tăng dần rất nhanh. Bạn chỉ cần lưu toàn bộ dãy vào một danh sách, gọi lệnh a.sort() trong Python hoặc sort(a, a + n) trong C++, rồi dùng một vòng lặp in lần lượt từng số ra màn hình.
Tin học Tiểu học
Bình luận