STL佚代器與演算法(尋訪與操作容器)
佚代器:迭代器是一種對象,提供了一種方法來順序訪問容器中的元素,而無需知道容器的內部結構,迭代器可以看作是一種通用指針,用於訪問和操作容器中的元素
迭代器的種類:
1.輸入迭代器(Input Iterator):只能讀取容器中的元素,從前向後單向訪問
2.輸出迭代器(Output Iterator):只能寫入容器中的元素,從前向後單向訪問
3.前向迭代器(Forward Iterator):支持單向遍歷容器,可以讀取也可以寫入元素
4.雙向迭代器(Bidirectional Iterator):支持雙向遍歷容器,可以讀取也可以寫入元素
5.隨機訪問迭代器(Random Access Iterator):可以向指針一樣隨機訪問容器中的元素,支持所有指針運算
常用迭代器操作:
begin():返回指向容器第一個元素
end():返回指向容器末尾
++:移動到下一個元素
_ _:移動到前一個元素
*:解引用迭代器,獲取當前迭代器所指的元素
STL演篹法:
STL 提供了一系列通用演算法,用於在容器上執行各種操作,如查找、排序、刪除和變換元素。這些演算法通常以迭代器作為參數來操作容器中的元素
常用的STL演算法:
1.尋訪演算法:
find:在區間內查找元素
count:計算某元素在區間中出現的次數
2.修改演算法:
sort:對容器中的元素進行排序
reverse:反轉區間內的元素
fill:將指定區間內的元素填充為某值
copy:將一個範圍的元素複製到另一範圍
3.移動予刪除演算法:
remove:刪除指定的元素
unique:移除連續的重複元素。
4.數學演算法:
accumulate:計算區間內元素的總和
inner_produce:計算兩個區間內的內積
總結:
1.STL 迭代器是用來遍歷容器的工具,提供了一種通用的方法來操作不同類型的容器
2.STL 演算法是通用操作,這些操作使用迭代器來遍歷和修改容器的內容,無需了解容器的具體類型
3.迭代器與演算法結合,允許我們靈活、高效地操作各種 STL 容器,實現代碼的可重用性和可維護性