30/09/2018, 18:50
Sắp xếp mảng có VÀI TỶ PHẦN TỬ theo thứ tự tăng dần
đọc vào từ 1 file
hàng đầu là số n (n rất lớn, vài tỷ)
n dòng, mỗi dòng là 1 số nguyên từ 0 đến 2000
in ra màn hình theo thứ tự từ nhỏ đến lớn những con số xuất hiện trong file đó và lặp lại bao nhiều lần.
mọi người giúp em bài này nhé! cám ơn nhiều!
Bài liên quan
Giải thuật:
Bạn sử dụng một mảng có kích thước từ 2001 phần tử kiểu long (c++) hoặc kiểu longint (pascal).
Đầu tiên khởi tạo các phần tử của mảng có giá trị là 0.
Đọc file, đọc được số nào thì tăng giá trị của số đó trong mảng.
Xuất kết quả, duyệt từ 0 đến 2001, cứ một số, in số lần xuất hiện của số đó.
Code bằng pascal
Số nguyên từ 0 đến 2000 thì dùng binsort ok rồi
bạn ơi, số lượng phần tử rất lớn (tới vài tỷ lận). còn 0-2000 là giá trị của mỗi phần tử mà ?
đúng rồi số lượng phần tử là vài tỷ, nên dùng mảng đếm đó.
dùng mảng như vậy thì Ram chịu k nổi. còn cách nào k bạn ?
long long mang[2002] sao chịu không nổi, còn quá ít nữa chứ.
Rồi. Mình đã hiểu thuật toán. Thanks bạn!
thanks bạn!
Nhớ đánh dấu câu trả lời đúng bạn ơi.