vector容器总结.xml

本文介绍了如何在向量中进行元素的操作,包括清空所有元素、遍历、删除符合条件的项,以及如何在正序和反序遍历中进行元素的修改与删除。

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

1 清空所有元素

 

    m_itemVector.clear();  

2 遍历

 

    vector<ITEM_CHECK>::iterator iter=m_itemVector.begin();  
    for(i=0;iter!=m_itemVector.end();iter++,i++)  
    {  
        if(iter->flag==-1)  
        {  
            break;  
        }  
        iter->flag=1;  
    }  

 

    vector<ITEM_CHECK>::iterator iter=m_itemVector.begin();  
    for(i=0;iter!=m_itemVector.end();iter++,i++)  //先全部取消  
    {  
        iter->flag=0;  
    }  

3 删除符合条件的项

 

    int CurrentCount=(int)m_itemVector.size();  
    for(int i=0;i<CurrentCount;i++)  
    {  
        if(m_itemVector.at(i).flag==1)  
        {  
            m_itemVector.erase(m_itemVector.begin()+i);  
            DeleteItem(i);  
            this->Invalidate();    
      
            CurrentCount--;  
            i--;                        //删除第i位置后,需要重新判断第i位置是否符合条件,因此需要i--。  
        }  
    }  

4  正序遍历 然后反序遍历

 

    vector<ITEM_CHECK>::iterator iter=m_itemVector.begin();  
    for(i=0;iter!=m_itemVector.end();iter++,i++)  //先全部取消  
    {  
        iter->flag=0;  
    }  
      
    for (;i>0;)                       //从后往前设置  iter 退到Begin() 再减的话 就会出现问题  
    {  
      
        iter--;  //结束时,正好退到Begin()  
        i--;  
        iter->flag=1;  
    }  

5 在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;  



本文使用 书画小说软件 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。

 

转载于:https://www.cnblogs.com/shuilan0066/p/4031772.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值