1.通过随机存取方式读取
vector<int> num;
num.push_back( 1 );
num.push_back( 2 );
num.push_back( 3 );
for( vector <int>::size_type i=num.size(); i>0; --i ) // 反向遍历array数组
{
cout << num[i-1] << endl;
}
num.push_back( 1 );
num.push_back( 2 );
num.push_back( 3 );
for( vector <int>::size_type i=num.size(); i>0; --i ) // 反向遍历array数组
{
cout << num[i-1] << endl;
}
注意一点:size_type是一个无符号数,如果通过如下的方式遍历能否行动通呢?
vector<int> num;
num.push_back( 1 );
num.push_back( 2 );
num.push_back( 3 );
for( vector <int>::size_type i=num.size()-1; i>=0; --i ) // 反向遍历array数组
{
cout << num[i] << endl;
}
num.push_back( 1 );
num.push_back( 2 );
num.push_back( 3 );
for( vector <int>::size_type i=num.size()-1; i>=0; --i ) // 反向遍历array数组
{
cout << num[i] << endl;
}
结果就出错了。
2。通过iterator 迭代器来遍历
vector<int> num;
num.push_back( 1 );
num.push_back( 2 );
num.push_back( 3 );
vector<int>::iterator vi;
for( vi=num.begin();vi!=num.end();vi++) // 反向遍历array数组
{
cout << *vi << endl;
}
num.push_back( 1 );
num.push_back( 2 );
num.push_back( 3 );
vector<int>::iterator vi;
for( vi=num.begin();vi!=num.end();vi++) // 反向遍历array数组
{
cout << *vi << endl;
}