好文: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;  */
}

 

posted on 2016-01-09 14:40  cleverbiger  阅读(113)  评论(0)    收藏  举报