STL vactor 的用法

來源:互聯網
上載者:User

上午看了三鮮的退役報告,感觸良多,ACM的最後一年了,決定學習他的方法,少看解題報告,自己想,或許到了某天我也可以發明出什麼YY樹之類的什麼東西,最近在做線段樹,裡面要用到vactor動態數組,決定自己好好的學學而不是去看別人的解題報告,從這裡來好好學學吧,自己一點點的摸索而不是直接獲得簡單的知識。


1.insert 

包含標頭檔#include<vector>

申明 vector<XX>B( 3,100 )  -> [ 100,100,100];

迭代器聲明vector<XX>::iterator C;

插入方法多樣:

B.insert( b.begin(),200 ) -> [200,100,100,100];

B.insert( b.begin(),2,100 ) ->[100,100,200,100,100,100];

可以插入數組或者vector

B.insert( B的迭代器,要插入的迭代器首,迭代器尾 );

數組:

B.insert( B的迭代器,要插入的數組首,數組尾 );


2.輸出vector

1>for( i=B.begin();i<B.end();i++ )//i為迭代器

cout<<*i;

2.>for( i=0;i<B.size();i++ )

cout<<B[i];



3 push_back & pop_back 

這兩個操作類比堆棧,push_back壓棧,pop_back彈棧;


4.assign

用來初始化vector 例如A.assign( 7,100 );

用vector來初始化 B.assign( A.begin()+1,A.end()+1)

用數組來初始化 C.assign( array,array+n );


5.erase

B.erase( B.begin(),B.begin()+3 );

0,1,2,3全擦除


6.swap

A.swap(B);

A,B兩個vector 中的元素全體交換


7.clear 

A.clear()全清零


8.at

類似於數組的下標 

B.at(1)=5   <-> B[1]=5;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.