好文:http://www.cppblog.com/MiYu/archive/2010/08/31/125459.html
#include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { //扩容, 元素个数; /*vector<int> c1(10); cout<<"The capacity of c1 is "<<c1.capacity()<<"."<<endl; cout<<"The size of c1 is '"<<c1.size()<<"'."<<endl; vector<int> c2; c2.reserve(20) //扩容函数; cout<<"The capacity of c2 is "<<c2.capacity()<<"."<<endl; cout<<"The size of c2 is '"<<c2.size()<<"'."<<endl; */ //赋值; /*vector<int>v; v.assign(10, 42); //输入个42; cout << v.capacity() << endl; cout << v.size() << endl; for(vector<int>::size_type i = 0; i < v.size(); i++) cout << v[i] << " "; cout << endl;*/ /* vector<int> v1; for(int i = 0; i < 10; i++) v1.push_back(i); vector<int> v2; v2.assign(v1.begin(), v1.end()); for(vector<int>::size_type i = 0; i < v2.size(); i++) cout << v2[i] << " "; */ //数组排序; /*vector<string> words; string str; while(cin>>str) words.push_back(str); sort(words.begin(), words.end()); cout<<"In alphabetical order, the first word is '"<<words.front()<<"'."<<endl; */ //输出首位元素 vector<int> a; cout<<a.front()<<a.back()<<endl; /*vector<int> v; for(int i = 0; i < 5; i++) v.push_back(i); cout<<v.front()<<" "<<v.back()<<endl;*/ //迭代器; vector<int> a; a.begin(); 指向第一个元素。 a.end(); 指向最后一个元素; /*vector<string> words; string str; while(cin >> str) words.push_back(str); for( vector<string>::const_iterator iter = words.begin(); iter != words.end(); ++iter){ cout<< *iter <<endl;} */ //插入元素; /*vector<char> alphaVector; for(int i = 0; i < 10; i++){ alphaVector.push_back(i+'A'); } vector<char>::iterator theIterator = alphaVector.begin(); alphaVector.insert(theIterator, 4, 'C'); //在位置theIterator处插入4个'C'; for(theIterator = alphaVector.begin(); theIterator != alphaVector.end(); ++theIterator){ cout << *theIterator; } */ //v2中插入v1; /*vector<int> v1; v1.push_back(0); v1.push_back(1); v1.push_back(2); v1.push_back(3); vector<int> v2; v2.push_back(4); v2.push_back(5); v2.push_back(6); v2.push_back(8); cout<<"Before, v2 is: "; for(vector<int>::size_type i = 0; i < v2.size(); i++) cout << v2[i] << " "; cout<<endl; v2.insert(v2.end(), v1.begin(), v1.end()); // 将v1插入到v2后面; cout<< "After, v2 is: "; for(vector<int>::size_type i = 0; i < v2.size(); i++) cout<<v2[i]<<" "; cout<<endl;*/ //删除元素 vector<char> alphas; vector<char>::iterator startIterator = alphas.begin(); alphas.erase(startIterator); /*vector<char> alphas; static const char letters[] = "ABCDEFGHIJ"; for(int i = 0; i < 10; i++) { alphas.push_back(letters[i]); // vector<char>::iterator S; // for(S = alphas.begin(); S!=alphas.end(); S++) // cout << *S << " "; // cout << endl << endl << endl; } vector<char>::size_type size = alphas.size(); vector<char>::iterator startIterator; vector<char>::iterator tempIterator; for(vector<char>::size_type i = 0; i < size; i++) { startIterator = alphas.begin(); alphas.erase(startIterator); //删除该位置元素; for(tempIterator = alphas.begin(); tempIterator != alphas.end(); ++tempIterator) cout<< *tempIterator; cout<<endl; } */ //删除区间中元素; vector<char> alphas; alphas.erase(alphas, alphas.begin()+2, alphas.end()-3); 保留前两位, 后三位元素; /*vector<char> alphas; static const char letters[] = "ABCDEFGHIJ"; for(int i = 0; i < 10; i++) { alphas.push_back(letters[i]); } for(vector<char>::size_type i = 0; i < alphas.size(); i++) cout<<alphas[i]; cout << endl; alphas.erase(alphas.begin()+2, alphas.end()-3); vector<char>::iterator S; for(S = alphas.begin(); S < alphas.end(); S++) cout<<*S; cout<<endl; //for(vector<char>::size_type i = 0; i < alphas.size(); i++) // cout << alphas[i]; //cout<<endl; */ //删除某位置元素; vector<char> alphas; vector<char>::iterator iter; while(iter != alphas.end()){iter=alphas.erase(iter); else ++iter;} /*vector<char> alphas; static const char letters[]="ABCDEFGHIJ"; for(int i = 0; i < 10; i++) { alphas.push_back(letters[i]); } vector<char>::iterator iter = alphas.begin(); while(iter != alphas.end()) { if(*iter=='B'||*iter=='D') iter=alphas.erase(iter); //删除iter位置元素, 并返回下一元素位置; else ++iter; } for(vector<char>::size_type i = 0; i != alphas.size(); i++) cout<<alphas[i]; cout<<endl; */ }
浙公网安备 33010602011771号