STL_Iterator

来源:互联网 发布:无人机源码 编辑:程序博客网 时间:2024/05/21 11:33

迭代器iterator是一个很神奇的东西。

STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以胶合剂(iterator)将他们撮合在一起。




#pragma once#include<algorithm>#include<vector>#include<list>#include<string>void TestVector(){vector<int> v;v.push_back(1);v.push_back(4);v.push_back(3);v.push_back(2);vector<int>::iterator it = v.begin();while (it != v.end()){cout << *it << " ";++it;}cout << endl;//STL排序头文件在algorithmsort(v.begin(), v.end());for (it=v.begin(); it < v.end(); it++){cout << *it << " ";}cout << endl;}void TestList(){list<int> l;l.push_back(1);l.push_back(2);l.push_back(3);l.push_back(4);list<int>::iterator it = l.begin();while (it != l.end()){cout << *it << " ";it++;}cout << endl;//替换函数 replace(l.begin(), l.end(), 3, 4);it = l.begin();while (it != l.end()){cout << *it << " ";it++;}}void Test3(){list<string> ls;ls.push_back("aa");ls.push_back("bb");ls.push_back("cc");ls.push_back("dd");list<string>::iterator it = ls.begin();while (it != ls.end()){cout << *it << " ";++it;}cout << endl;//findit = find(ls.begin(), ls.end(), "aa");//it = find(ls.begin(), ls.end(), "ee"TL);if (it != ls.end())//如果查找失败(不存在),it就会返回ls.end()cout << *it << endl;elsecout << "find false" << endl;}


0 0
原创粉丝点击