迭代器
迭代器本身可以看作一个数据指针。迭代器主要支持两个运算符:自增 (++) 和解引用(单目 * 运算符),其中自增用来移动迭代器,解引用可以获取或修改它指向的元素
以 $ vector < int > $ 为例:
vector < int > text;
for ( int i = 1; i <= 10; i ++ )
text.push_back( i );
for ( vector < int > :: iterator it = text.begin(); it < text.end(); it ++ )
printf( " %d " , * it );
输出为 : $ 1 2 3 4 5 6 7 8 9 10 $
\(vector\) 容器
是 STL 提供的 内存连续的、可变长度 的数组(亦称列表)数据结构。
能够提供线性复杂度的插入和删除,以及常数复杂度的随机访问。
这里只提供基础的 \(vector\) 的用法。
vector < Type_name > text;
vector < int > text;
for ( int i = 1; i <= 10; i ++ )
text.push_back( i );
printf( " %d " , * text.data() );//text.data()为text的首元素的地址
printf( " %d " , text.front() );//text.front()为text的首元素
printf( " %d " , text.back() );//text.back()为text的为元素
printf( " %d " , * text.begin() );//text.begin()为text的首元素的地址
printf( " %d " , * text.end() );//text.end()为text的尾元素的地址+1(不存在)
text.empty()
text.size()//大小
text.clear()//清空
text.insert(text.begin(),x);//在text.begin()前插入数字 x
text.insert(text.begin(),num,x);//在text.begin()前插入num个数字 x
text.erase(it)//删除地址为it的数
text.erase(it,IT)//删除地址为it至IT-1的数
text.push_back(x);//末尾加入x
text.pop_back();//删除末尾
标签:迭代,STL,text,运算符,int,vector
From: https://www.cnblogs.com/dadidididi/p/16749354.html