C++中的vector简单使用实例
作者:天涯来源:中国自学编程网发布日期:1236667017
前几天网友问我c++里面的vector的使用,现在对vector进行简单总结,共享CSDN网友。说明:东西比较简单,如果你很牛,请直接关闭本页!
首先是vector的声明:
#include
using namespace std; // 在这里声明
...
vector
...
或者
#include
...
std::vector
看具体使用:
1.vector 的数据的存入和输出:
view plaincopy to clipboardprint?
vector
for(int i =0;i<40;i++)
{
CString s;
s.Format("%d",i);
v.push_back(s);
}
CString ss ;
for(int j =0;j { ss+=v[j]+","; } MessageBox(ss); 注:你也可以用v.begin()和v.end() 来得到vector开始的和结束的元素地址的指针位置。你也可以这样做: view plaincopy to clipboardprint? vector for(int i =0;i<40;i++) { CString s; s.Format("%d",i); v.push_back(s); } CString ss ; vector for( iter = v.begin(); iter != v.end(); iter++ ) { ss+= *iter+","; } MessageBox(ss); vector for(int i =0;i<40;i++) { CString s; s.Format("%d",i); v.push_back(s); } CString ss ; vector for( iter = v.begin(); iter != v.end(); iter++ ) { ss+= *iter+","; } MessageBox(ss); 2.对于二维vector的定义(开始就固定长度) view plaincopy to clipboardprint? vector< vector { for (int i = 0; i < 9; i++ ) { CString s; s.Format("%d",i); Array[ i ].push_back(s); } } CString ss; for( int jj = 0; jj < 10; jj++ ) { for(int ii = 0; ii < Array[ jj ].size(); ii++ ) { ss+=Array[jj][ii]; } } MessageBox(ss); vector< vector for( int j = 0; j < 10; j++ ) { for (int i = 0; i < 9; i++ ) { CString s; s.Format("%d",i); Array[ i ].push_back(s); } } CString ss; for( int jj = 0; jj < 10; jj++ ) { for(int ii = 0; ii < Array[ jj ].size(); ii++ ) { ss+=Array[jj][ii]; } } MessageBox(ss); 3.定义一个行列都是变化的数组 view plaincopy to clipboardprint? int i = 0, j = 0; vector< vector vector< CString > line; for( j = 0; j < 10; j++ ) { Array.push_back( line );//要对每一个vector初始化,否则不能存入元素。for ( i = 0; i < 9; i++ ) { CString s; s.Format("%d",i); Array[ j ].push_back( s ); } } CString ss; for(int jj = 0;jj { for(int ii =0;ii { ss+=Array[jj][ii]; } } MessageBox(ss); 问大家有关vector长度和容量的问题 #include #include #include using namespace std; void main() { vector svec.reserve(64);//长度不变,容量被置为64 string text_word; while(cin> > text_word) svec.push_back(text_word);//输入192个单词,长度变为192 //容量为256 svec.resize(svec.size()+70); cout < < "size: " < < < "capacity: " < //长度增长70,为262,容量为384 } 为什么容量是384,而不是512或326? #1 ? ?clhposs ?(Poss) ?等级: ? 对我有用 丢个板砖 引用 举报 管理 TOP 精华推荐: #2 ? ?baihacker ?(飞雪) ?等级: ? 4 3 #3 ? ?effective_person ?(晓风) ?等级: ? #4 ? ?clhposs ?(Poss) ?等级: ?