关于vector数组
对于vector数组的使用,不要为了使用而使用,能用普通的就用普通的,特别是在题目中已经说了人数或者其他表明数组大小的信息的情况下。vector能够动态变化固然有其好的方面,但是在许多方面是不如普通的数组的,比如遍历,特别是维数增加之后。
简单总结一下最近遇到的问题:
对于vector数组的遍历:
方法一:
使用vector.size()求得大小后,使用循环遍历即可。对于多维数组,则可以使用vector[i].size()求得第i行的列数之后再遍历,可以看出这块就相对麻烦了。
方法二:
使用迭代器。
for(vector<type>::iterator it = vector.begin();it != vector.end();it++){
……
}
对于多维数组也可以使用,下面以二维数组为例。
vector<char>::iterator it;//用来遍历某一行中的元素
vector<vector<char>>::iterator iter;//用来遍历行
vector<char> vectemp;
for(iter = str.begin();iter!=str.end();iter--){
vectemp = *iter;
vector<char> temp;
for(it=vectemp.begin();it!=vectemp.end();it++){
temp.push_back(*it);
}
result.push_back(temp);
}
浙公网安备 33010602011771号