C++中的vector简单使用范例

本文详细介绍C++中vector的声明及使用方法,包括一维和二维vector的定义、数据的存入与输出等,并提供示例代码帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先是vector的声明:
#include <vector>
using namespace std; // 在这里声明
...
vector<int> i;
...
或者
#include <vector>
...
std::vector<int> i; // 在这里显式声明

看具体使用:
1.vector 的数据的存入和输出:

<span style="font-size:14px;">    vector<CString> v;  
    for(int i =0;i<40;i++)  
    {  
        CString s;  
        s.Format("%d",i);  
        v.push_back(s);  
    }  
    CString ss ;  
    for(int j =0;j<v.size();j++)  
    {  
        ss+=v[j]+",";  
    }  
    MessageBox(ss);  </span>

注:你也可以用v.begin()和v.end() 来得到vector开始的和结束的元素地址的指针位置。你也可以这样做:

<span style="font-size:14px;">    vector<CString> v;  
    for(int i =0;i<40;i++)  
    {  
        CString s;  
        s.Format("%d",i);  
        v.push_back(s);  
    }  
    CString ss ;  
    vector<CString>::iterator iter;  
    for( iter = v.begin(); iter != v.end(); iter++ )   
    {  
        ss+= *iter+",";  
    }  
    MessageBox(ss);  </span>


2.对于二维vector的定义(开始就固定长度)

<span style="font-size:14px;">    vector< vector<CString> > Array( 10, vector<CString>(0) );   
    for( int j = 0; j < 10; j++ )  
    {  
        for (int i = 0; i < 9; i++ )  
        {  
            CString s;  
                s.Format("%d",i);  
            Array[ i ].push_back(s);  
        }  
    }  
      
    CString ss;  
    for( int jj = 0; jj < 10; jj++ )  
    {  
        for(int ii = 0; ii < Array[ jj ].size(); ii++ )  
        {  
            ss+=Array[jj][ii];  
        }  
    }  
    MessageBox(ss);  </span>


3.定义一个行列都是变化的数组

<span style="font-size:14px;">    int i = 0, j = 0;  
    vector< vector<CString> > Array;  
    vector< CString > line;  
    for( j = 0; j < 10; j++ )  
    {  
        Array.push_back( line );//要对每一个vector初始化,否则不能存入元素。  
        for ( i = 0; i < 9; i++ )  
        {  
            CString s;  
                s.Format("%d",i);  
            Array[ j ].push_back( s );  
        }  
    }  
      
    CString ss;  
    for(int jj = 0;jj<Array.size();jj++)  
    {  
        for(int ii =0;ii<Array[jj].size();ii++)  
        {  
            ss+=Array[jj][ii];  
        }  
    }  
    MessageBox(ss);  </span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值