• C++中vector容器的常用操作方法


    1.容器的创建,删除

    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        vector<int> v1;
    	vector<int>::iterator Iter;   //iterator为迭代器,值为*Iter
    	v1.push_back(10);   //向容器中中添加数据
    	v1.push_back(20);
    	v1.push_back(30);
    	v1.push_back(40);
    	v1.push_back(50);
    	v1.push_back(60);
    	//v1.back()=3;  //将容器中的最后一个元素赋值为3
    	cout<<v1.back();  //输出容器的最后一个元素值
    
    	//输出容器里的所以元素
    	cout << "v1 =" ; 
    	for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ ) // v1.begin( )为第一个元素,v1.back()为最后一个元素,v1.end( )为容器的结束标志
    		cout << " " << *Iter; 
    	cout << endl; 
    	//  输出:10 20 30 40 50 60
        //  下标:0  1  2  3  4  5
    	v1.erase( v1.begin( ) ); //删除v1容器中的第一个元素,则vi容器的第一个元素变为20
    	cout << "v1 ="; 
    	for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ ) 
    		cout << " " << *Iter; 
    	cout << endl; 
        //输出:20 30 40 50 60
    	//下标:0  1  2  3  4
    
    	v1.erase( v1.begin( ) + 1, v1.begin( ) + 4 ); //删除v1容器中下标为1到3的元素,v1.begin()下标为0
    	//           30                  60
    	cout << "v1 ="; 
    	for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ ) 
    		cout << " " << *Iter; 
    	cout << endl; 
        //输出:20 60
    
    	system("PAUSE");  //vs运行必加,意为在点击后显示运行结果
    	return 0;
    }
    

    3  两vector 容易赋值时,不能通过=来赋值
    而应使用遍历 或assign函数的方式来赋值 

    	vector<int> v1,v2;  //将v1容器里的值赋值到v2中
    	//方法一:
        v2.assign(v1.begin(),v1.end());
    	//方法二
    	for(int i=0;i<v1.size();i++)
    	{
    	int temp=v1.at(i);
    	v2.push_back(temp);
    	}
    

    4 在vector中查找

    #include<vector> 
    #include<algorithm> //在VECTOR中查找 
    using namespace std; 
     
    vector<int> L; 
    L.push_back( 1 ); 
    L.push_back( 2 ); 
    L.push_back( 3 ); 
    L.push_back( 4 ); 
    L.push_back( 5 ); 
    vector<int>::iterator result = find( L.begin( ), L.end( ), 3 ); //查找3 
    if ( result == L.end( ) ) //没找到 
      cout << "No" << endl; 
    else //找到 
      cout << "Yes" << endl;
    

      

  • 相关阅读:
    Log4j的配置
    Linux笔记
    面对一个个路口
    切图布局知识点(四)——不定宽有背景文字块居中
    切图布局知识点(三)——左右布局
    切图布局知识点(二)——高度100%
    切图布局知识点(一)
    window下静默执行python脚本
    mysql 允许远程连接
    linux 防火墙
  • 原文地址:https://www.cnblogs.com/dshn/p/6606276.html
Copyright © 2020-2023  润新知