30/09/2018, 18:46
Anh chị cho em hỏi iterator và ánh xạ là gì ạ
Chào anh chị. Anh chị cho em hỏi iterator là gì vậy ạ? Và ánh xạ là gì vậy ạ? Và nó được dùng để làm gì luôn ạ :)) Em cám ơn
Bài liên quan
Là một kiểu con trỏ đặc biệt dùng để trỏ đến các phần tử ở trong Stack, Queue, Heap… thường dùng trong lập trình C++.
Iterator là một mẫu thiết kế. Nó quy định cách thức duyệt qua các phần tử của một collection. Collection là một tập hợp như mảng, stack, list.
Đại khái nếu bạn không rõ mấy cái mình vừa nói thì iterator nó cho phép duyệt qua các phần tử của một tập hợp theo một cách thống nhất mà không quan tâm tới cách tổ chức của tập hợp. Chẳng hạn với iterator bạn có thể duyệt qua set, list… theo cách gọi hàm tương tự nhau.
Ánh xạ nó tương tự như ánh xạ trong toán học. Ánh xạ (map) tương tự một hàm số, với mỗi phần tử của tập hợp này sẽ tương ứng với duy nhất một phần tử của tập hợp kia (Theo toán).
Trong lập trình nó giống như với mỗi phần tử trong một tập hợp (mảng chẳng hạn), bạn duyệt qua tất cả các phần tử, sử dụng một hàm biến đổi nó và trả về một phần tử mới và lưu các phần tử sau khi biến đổi vào một mảng mới.
Ví dụ:
Hàm map là x -> x + 1. Ý nghĩa: Nhận vào một đầu vào là x, trả về một phần tử mới là x + 1.
Mảng ban đầu A là [0, 1, 2]
Áp dụng hàm map vào mảng A, thu được một mảng mới B: [1, 2, 3]
à mình hiểu rồi. Ths bạn nhe