vector作為二維數組


vector本來就是可以用來代替一維數組的,vector提供了operator[]函數,可以像數組一樣的操作,而且還有邊界檢查,動態改變大小。 
這里只介紹用它來代替二維的數組,二維以上的可以依此類推。

1、定義二維vector

vector<vector<int>  > v;//注意>和>之間的空格。(c++11之后不用注意vector<vector>> 后面兩個之間的空格了)

  

2、訪問二維vector的元素的三種方式

如果指定外層和內層向量的大小,就可用operator[]進行讀和寫;如果只指定外層向量大小,就能用push_back()函數進行寫,不能用operator[]進行讀和寫。 
1)指定外層vector大小 
可用push_back函數進行初始化:

v.resize(3);
v[1].push_back(9);

2)遍歷指定內層vector大小 

提前設定好每行vector的大小,就可用operator[]訪問,如下:

for(int i=0;i<3;i++)
    v[i].resize(3);

3)一次指定內外層vector大小

v.resize(n, vector<int>(m));

  




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM