VECTOR容器總結

來源:互聯網
上載者:User

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;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.