前幾天網友問我c++裡面的vector的使用,現在對vector進行簡單總結,共用CSDN網友。說明:東西比較簡單,如果你很牛,請直接關閉本頁!
首先是vector的聲明:
#include <vector>
using namespace std; // 在這裡聲明
...
vector<int> i;
...
或者
#include <vector>
...
std::vector<int> i; // 在這裡顯式聲明
看具體使用:
1.vector 的資料的存入和輸出:
vector<CString> v;<br />for(int i =0;i<40;i++)<br />{<br />CString s;<br />s.Format("%d",i);<br />v.push_back(s);<br />}<br />CString ss ;<br />for(int j =0;j<v.size();j++)<br />{<br />ss+=v[j]+",";<br />}<br />MessageBox(ss);
註:你也可以用v.begin()和v.end() 來得到vector開始的和結束的元素地址的指標位置。你也可以這樣做:
vector<CString> v;<br />for(int i =0;i<40;i++)<br />{<br />CString s;<br />s.Format("%d",i);<br />v.push_back(s);<br />}<br />CString ss ;<br />vector<CString>::iterator iter;<br />for( iter = v.begin(); iter != v.end(); iter++ )<br />{<br />ss+= *iter+",";<br />}<br />MessageBox(ss);
2.對於二維vector的定義(開始就固定長度)
vector< vector<CString> > Array( 10, vector<CString>(0) );<br />for( int j = 0; j < 10; j++ )<br />{<br />for (int i = 0; i < 9; i++ )<br />{<br />CString s;<br /> s.Format("%d",i);<br />Array[ i ].push_back(s);<br />}<br />}</p><p>CString ss;<br />for( int jj = 0; jj < 10; jj++ )<br />{<br />for(int ii = 0; ii < Array[ jj ].size(); ii++ )<br />{<br />ss+=Array[jj][ii];<br />}<br />}<br />MessageBox(ss);
3.定義一個行列都是變化的數組
int i = 0, j = 0;<br />vector< vector<CString> > Array;<br />vector< CString > line;<br />for( j = 0; j < 10; j++ )<br />{<br />Array.push_back( line );//要對每一個vector初始化,否則不能存入元素。<br />for ( i = 0; i < 9; i++ )<br />{<br />CString s;<br /> s.Format("%d",i);<br />Array[ j ].push_back( s );<br />}<br />}</p><p>CString ss;<br />for(int jj = 0;jj<Array.size();jj++)<br />{<br />for(int ii =0;ii<Array[jj].size();ii++)<br />{<br />ss+=Array[jj][ii];<br />}<br />}<br />MessageBox(ss);