STL lập trình khái lược trong C++ part 5

Tham khảo tài liệu 'stl lập trình khái lược trong c++ part 5', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | STL - LẬP TRÌNH KHÁI LUỢC TRONG C 142 ii 2 copy 0 ostream_iterator int cout return 0 0 12 . Bộ duyệt back_insert_iterator Bộ duyệt back_insert_iterator dùng để thêm các phần từ vào cuối một bộ chứa. Cũng tương tự như bộ duyệt f ront_insert_iterator bộ duyệt back_insert_iterator chỉ làm việc với các bộ chứa hỗ trợ hàm push_back . Điều này có nghĩa là chi có thể sử dụng được với bộ chứa cơ sở là vector deque hay list. Và đương nhiên ta cũng có thể sử dụng bộ duyệt này với các bộ chứa do tự xây dựng nếu các bộ chứa này được định nghĩa hàm push-back . Kết quả của việc bổ sung khi sử dụng bộ duyệt back_insert_iterator tuỳ thuộc vào việc định nghĩa hàm push_back . Sau đây là một ví dụ đơn giản để minh hoạ cách sử dụng bộ duyệt này include vector include deque include iostream using namespace std int main int argc char argv deque int int_deque for int i 0 i 10 i i vector int int_vector copy back_insert_iterator vector int int_vector cout Deque ban dau copy ostream_iterator int cout cout nVector ket qua copy ostream_iterator int cout return 0 143 Chương 3. Bộ DUYỆT deque ban dau 0123456789 vector ket qua 0123456789 Ví dụ trên thực hiện việc sao chép nội dung của một deque sang vector bằng hàm copyO và bộ duyệt back_insert_iterator. Trật tự của dãy số vẫn được giữ nguyên sau thao tác sao chép. Nếu muốn sao chép nội dung và đảo ngược trật tự các phần tử ta làm thế nào Rõ ràng không thể sử dụng được front_insert_iterator vì lớp vector không có hàm push_f ront . Hướng giải quyết của chúng ta là duyệt deque từ cuối lên đầu trong quá trình sao chép. Ta sẽ thay lời gọi hàm copy trong đoạn mã trên như sau copy 0 back_insert_iterator vector int int_vector Kết quà thu được sẽ đúng như mong muốn của chúng ta deque ban dau 0123456789 vector ket qua 9876543210 Để chỉ cho hàm copyO biết rằng phải duyệt .

TÀI LIỆU MỚI ĐĂNG
6    4    0    24-06-2021