C/C++

Vector

2017-05-10  本文已影响35人  谢小帅

实例1

#include <iostream>
#include <vector>

using namespace std;

int main() {

    vector<int> v(5, 0); // 必须指定类型
//    v.assign(5, 1); // 分配元素,也可用来初始化
    for (int i = 0; i < v.size(); ++i) {
        cout << v[i] << '\t';
    }
    cout << endl;

    v.push_back(1); // 在末尾插入元素
    for (int i = 0; i < v.size(); ++i) {
        cout << v[i] << '\t';
    }
    cout << endl;
    cout << "第一个元素:" << v.front() << endl;
    cout << "最后一个元素:" << v.back() << endl;

    v.pop_back(); // 删掉末尾的元素
    for (int i = 0; i < v.size(); ++i) {
        cout << v[i] << '\t';
    }
    cout << endl;

    return 0;
}
0   0   0   0   0   
0   0   0   0   0   1   
第一个元素:0
最后一个元素:1
0   0   0   0   0   

实例2

#include <iostream>
#include <vector>

using namespace std;

int main() {

    vector<char> alphaVector;
    for (int i = 0; i < 5; ++i) {
        alphaVector.push_back((char) (i + 65)); // 插入 A B C D E
    }

    for (int j = 0; j < alphaVector.size(); ++j) {
        cout << alphaVector[j] << '\t';
    }
    cout << endl;

    vector<char>::iterator iter = alphaVector.begin() + 3; // 获得index为3的迭代器
    alphaVector.insert(iter, '1'); // 在index=3的位置上插入1
    for (int j = 0; j < alphaVector.size(); ++j) {
        cout << alphaVector[j] << '\t';
    }
    cout << endl;

    alphaVector.insert(iter, 2, '2'); // 在index=3的位置上插入2个'2'
    for (int j = 0; j < alphaVector.size(); ++j) {
        cout << alphaVector[j] << '\t';
    }
    cout << endl;

    vector<char> vector1(3, '3'); // 定义一个要插入的vector
    alphaVector.insert(iter, vector1.begin(), vector1.end()); // 在index=3的位置上插入vector1
    for (int j = 0; j < alphaVector.size(); ++j) {
        cout << alphaVector[j] << '\t';
    }
    cout << endl;

    alphaVector.erase(alphaVector.begin() + 3, alphaVector.end() - 2); // 删掉前面插入的元素
    for (int j = 0; j < alphaVector.size(); ++j) {
        cout << alphaVector[j] << '\t';
    }
    cout << endl;

    return 0;
}
A   B   C   D   E   
A   B   C   1   D   E   
A   B   C   2   2   1   D   E   
A   B   C   3   3   3   2   2   1   D   E   
A   B   C   D   E   
上一篇 下一篇

猜你喜欢

热点阅读