zoukankan      html  css  js  c++  java
  • 顺序容器:vector和deque 的程序举栗子

    1、vector 举栗子(演示vector常用的成员函数)

    #include <iostream>
    #include <vector>
    using namespace std;
    
    //模板,输出vector中的元素
    template<class T>
    void PrintVector( T s, T e)
    {
    	for(; s != e; ++s)
    	cout << * s << " ";
    	cout << endl;
    }
    
    int main(){
    	int a[5] = { 1,2,3,4,5 };
    	vector<int> v(a,a+5); 								//将数组a的内容放入v
    	cout << "1) " << v.end() - v.begin() << endl;		//两个随机迭代器可以相减,输出 1) 5
    	
    	cout << "2) "; 
    	PrintVector(v.begin(),v.end());						//2) 1 2 3 4 5
    	
    	v.insert(v.begin() + 2, 13); 						//插入:在begin()+2位置插入 13
    	cout << "3) "; 
    	PrintVector(v.begin(),v.end());						//3) 1 2 13 3 4 5
    	
    	v.erase(v.begin() + 2); 							//删除:删除位于 begin() + 2的元素
    	cout << "4) "; 
    	PrintVector(v.begin(),v.end());						//4) 1 2 3 4 5
    	
    	vector<int>  v2(4,100); 							//v2 有4个元素,都是100
    	v2.insert(v2.begin(),v.begin()+ 1,v.begin()+3);		//将v的一段插入v2开头
    	cout << "5) v2: "; PrintVector(v2.begin(),v2.end());//5) v2: 2 3 100 100 100 100
    	
    	v.erase(v.begin() + 1, v.begin() + 3);				//删除 v 上的一个区间,即 2,3
    	cout << "6) "; 
    	PrintVector(v.begin(),v.end());						//6) 1 4 5
    	return 0;
    }
    

    2、用vector实现二维数组:vector套vector

    #include <iostream>
    #include <vector>
    using namespace std;
    int main() {
    	vector<vector<int> > v(3);//v有3个元素,每个元素都是vector<int> 容器
    	for(int i = 0;i < v.size(); ++i)
    		for(int j = 0; j < 4; ++j)
    			v[i].push_back(j);
    	for(int i = 0;i < v.size(); ++i) {
    		for(int j = 0; j < v[i].size(); ++j)
    			cout << v[i][j] << " ";
    		cout << endl;
    	}
    	return 0;
    }
    /*
    程序输出结果:
    0 1 2 3
    0 1 2 3
    0 1 2 3
    */
    

    2、关于deque

    • 所有适用于 vector的操作都适用于 deque。
    • deque还有 push_front(将元素插入到前面) 和pop_front(删除最前面的元素)操作,复杂度是O(1)
  • 相关阅读:
    关系数据库设计一般方法 范式及完整性
    left join, right join , inner join, join, union的意义
    mysql 事务类型表的用法
    Java中静态变量与非静态变量的区别
    JSP生命周期
    Java&Tomcat环境变量配置
    JSP两种声明变量的区别
    一个web页面的访问的过程
    Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决
    IDEA:修改JAVA文件自动引入import.*包
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764217.html
Copyright © 2011-2022 走看看