Tôi tự hỏi liệu các thuật toán sắp xếp thư viện chuẩn (ví dụ: std :: sort) có đang sử dụng bộ nhớ heap để phân loại hay không.std :: thuật toán sắp xếp sử dụng bộ nhớ
Có nguồn đáng tin cậy nào để tìm ra loại (đống, ngăn xếp) và bộ nhớ tạm thời được sử dụng bởi thuật toán phân loại hay thuật toán thư viện chuẩn nói chung không?
Nền tảng là tôi xem xét giới thiệu một số thuật toán thư viện chuẩn vào một môi trường nhúng trong đó việc sử dụng bộ nhớ được kiểm soát là rất quan trọng. (đặc biệt là heap không được sử dụng).
Cảm ơn bạn trước!
Tôi không biết nếu có bất kỳ câu trả lời chung hoặc "đảm bảo" này. Nhưng nếu vấn đề là rất quan trọng, sau đó một câu trả lời chung có lẽ là không đủ tốt anyway. Bạn cần một câu trả lời cho việc thực hiện cụ thể cho std :: sort và như vậy trên nền tảng bạn đang sử dụng. Mặc dù vậy, bạn có thể gặp may, vì rất nhiều công cụ tiêu chuẩn (đặc biệt là các mẫu) được thực hiện hoàn toàn trong các tiêu đề C++. Trong trường hợp đó, không có gì thực sự khiến bạn không thể tự mình xem xét bản thân mình để xác minh mọi thứ bạn quan tâm. – TheUndeadFish
Chỉ cần duyệt qua bản nháp tiêu chuẩn gần đây. Tôi thấy không có gì nói rằng 'sắp xếp' không thể sử dụng đống, chỉ yêu cầu về cách' hoán đổi' được hỗ trợ. Đào qua 'hoán đổi', một lần nữa không có chi tiết về việc liệu đống được sử dụng để lưu trữ các thời gian trong quá trình hoán đổi hay không. – user4581301
@ user4581301 Tiêu chuẩn thậm chí không có khái niệm "đống" và "ngăn xếp" để bắt đầu, vì vậy bất kỳ sự bảo đảm nào liên quan đến "nơi" bộ nhớ được cấp phát sẽ khá đáng ngạc nhiên. –