for(vector<string>::reverse_iterator iter = v6.rbegin(); iter != v6.rend(); iter++) { cout<< *iter <<endl; } 5.插入元素 下面的例子,演示了如何使用 insert() 函数向 vector 容器中插入元素。 #include <iostream>#include<vector>#include<arra
Example: //reverse algorithm example#include <iostream>//std::cout#include <algorithm>//std::reverse#include <vector>//std::vectorintmain () { std::vector<int>myvector;//set some values:for(inti=1; i<10; ++i) myvector.push_back(i);//1 2 3 4 5 6 7 8 9std::reverse(myvector...
reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数无返回值。string str="hello world , hi"; reverse(str.begin(),str.end());//str结果为 ih , dlrow olleh vector<int> v{5,4,3,2,1}; reverse(v.begin(),v.end());//容器v的值变为...
获取最后一个数据位置的reverse_iterator,获取第一个数据前一个位置的reverse_iterator 范围for(重点) 可以很快遍历完一个vector容器,以迭代器作为底层实现的,灰常的好用 2.2.1.begin + end 首先登场的就是开头和结尾,这两个函数的功能和它们的名字是一样的,begin函数是指向vector第一个位置;end函数是指向vector的...
#include<vector> 11 #include<algorithm> 12 13 usingnamespacestd; 14 intmain() { 15 intia[]= {1,2,3}; 16 vector<int>ivec(ia, ia+sizeof(ia)/sizeof(int)); 17 18 //use reverse_iterator by for loop 19 for(vector<int>::reverse_iterator r_iter=ivec.rbegin(); r_iter!=ivec....
a.crend() const_reverse_iterator const_cast<X const&>(a).rend() 常数 示例 下列示例在(拥有随机访问迭代器的)vector 上逆序迭代。 运行此代码 #include <vector> #include <iostream> int main() { std::vector<int> v = {3, 1, 4, 1, 5, 9}; for(std::vector<int>::reverse_iterator i...
STL 的源代码整体考虑的东西比较多,还要考虑和其他地方的结合,因此整体的设计是比较复杂的。基于这一系列原因,我们会以简单的形式去实现其核心框架接口,方便去学习 vector。 还是那句话,我们去模拟实现它们,不是为了造更好的轮子,而是为了去学习它,理解它的本质!自己造一次,心里会更清楚,更利于加深对它们的理解。
对于所有<algorithm>库函数,STL都有大量的算法。 以下是一些关于向量的最常用算法和《竞争性编程》中最有用的算法: 非操纵算法: 1.sort(first_iterator,last_iterator) –对给定向量进行排序。 2.reverse(first_iterator,last_iterator) –反转向量。 3.* max_element(first_iterator,last_iterator) –查找向量的...
deque不提供容量操作:capacity()和reverse(),但是vector可以。 3.2.4 实例 #include<iostream>#include<stdio.h>#include<deque>using namespace std;intmain(void){inti;inta[10] = {0,1,2,3,4,5,6,7,8,9}; deque<int> q;for(i =0; i <=9; i++) {if(i %2==0) q.push_front(a[i]...
template<class BidirIt> void reverse(BidirIt first, BidirIt last) { while ((first != last) && (first != --last)) { std::iter_swap(first++, last); } } 示例 运行此代码 #include <vector> #include <iostream> #include <iterator> #include <algorithm> int main() { std::vector<int...