zoukankan      html  css  js  c++  java
  • C++的vector的使用方法

    vector

    c++的vector的使用方法,创建,初始化,插入,删除等。

    #include "ex_vector.h"
    
    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    
    void ex_vector01_main()
    {
    
    	//#######################################################################################
    	//初始化vector的方法
    	vector<int> v1;									//v1是一个空vector,它的潜在元素是int类型的,执行默认初始化
    	vector<int> v2(v1);								//v2包含v1所有元素的副本
    	//这里尝试先给v1添加元素,后看看v2是什么情况
    	vector<int> v22 = v1;							//等价于v2(v1),v2包含v1所有元素的副本
    	vector<float> v3(10, 11.0);						//v3包含10个重复的元素,每个元素的值都是11
    	vector<int> v4(10);								//v4包含了10个重复执行了值初始化的对象
    	vector<string> v5{ "a","b","cc","d" };			//v5包含了4个元素
    	vector<string> v55 = { "a","b","cc","d" };		//等价于v5{ "a","b","cc","d" };
    
    	//#######################################################################################
    	//初始化使用圆括号和花括号的区别
    	//使用圆括号是,提供的值是用来构造vector对象的
    	//使用花括号是,想用列表初始化vector对象的,初始化过程会尽可能的把花括号内的值当做是元素的初始
    	//  值的列表来处理,只有在无法执行列表初始化的时候才会尽可能的考虑其他初始化的方式
    	vector<int> va1(10);	//va1有10个元素,每个值都是0
    	vector<int> va2{ 10 };	//va2有1个元素,该元素的值是10
    
    	vector<int> va3(10, 1);	//va3有10个元素,每个的值都是1
    	vector<int> va4{ 10,1 };//va4有两个元素,值分别是10,1
    
    	vector<string> va5{ "hi" };		//列表初始化:va5有一个元素
    	//vector<string> va6("hi");		//错误,不能使用字符串字面值构建vector对象
    	//这种就是不使用花括号内的值来初始化对象
    	vector<string> va7{ 10 };		//va7有10个默认初始化的元素
    	vector<string> va8{ 10,"hi" };	//va8有10个值为"hi"的元素
    
    	//#######################################################################################
    	//向vector中添加元素
    	//最常见的一种方式就是先定义一个空的vector,然后当运行时在逐一添加。
    	vector<int> vb1(2, 100);
    	for (int i = 0; i < 10; i++)
    	{
    		vb1.push_back(i);//依次把整数数值添加到vb2的末尾
    	}
    
    	if (vb1.empty())
    	{
    		cout << "vb1 is empty" << endl;
    	}
    	else
    	{
    		cout << "第一种循环方法:"<<endl;
    		cout << "vb1 have " << vb1.size() << " elements" << endl;
    		for (int i = 0; i < 10; i++)
    		{
    			cout << vb1[i] << ", ";
    		}
    		cout<<endl;
    		cout << "第二种循环方法:"<<endl;
    		for(int &i:vb1)
    			cout<<i<<", ";
    		cout<<endl;
    		for(auto &i:vb1)
    			cout<<i<<", ";
    		cout<<endl;
    	}
    
    }
    

    更多内容详见我的个人主页:

    国内主页

    国外主页

  • 相关阅读:
    第009题 智猜年龄——问经理三女儿年龄各多少
    第008题 求最大值——10个1加乘的最大数字
    第007题 天平称物——最少砝码称出最多质量
    第006题 天平找次——至少称几次找到次品
    第005题 青蛙过河——十只青蛙如何顺利过去
    第004题 过河问题——如何过河用时最短
    第003题 过河问题——三对老虎如何安全过河
    第002题 打水问题——9升和4L的桶如何打6升水
    基于博弈论分析在线教育网站和慕课的产生
    C++左右括号匹配问题(并给出括号的位置 并且允许非括号字符插入)修改版
  • 原文地址:https://www.cnblogs.com/xutopia/p/13378521.html
Copyright © 2011-2022 走看看