24 标准库 vector

1. vector

vector是一个存放任意类型的动态数组,不需要考虑内存的增长和释放,具有良好的安全性

2. 定义和初始化

  • vector v1
  • vector v2(v1)
  • vector v2 = v1
  • vector v3(n ,value) // n 个重复元素
#include<iostream>
#include<vector>

using namespace std;

int main(){

    vector<int> v1;
    vector<int> v2(v1);
    vector<int> v3 = v1;

    vector<int> v4(10, 100);
    vector<int> v5(100);


    return 0;
}

3. vector 添加和删除

#include<iostream>
#include<vector>
#include<string>

using namespace std;

int main(){

    vector<string> v1;
    // 添加一个元素
    v1.push_back("hi");
    // 删除一个元素
    v1.pop_back();

    return 0;
}

4. vector 的元素访问

#include<iostream>
#include<vector>
#include<string>

using namespace std;

int main(){


    vector<int> v1(10, 100);

    int nNum = v1[2]; // 0 到 size() -1
    cout<<"nNum = " << nNum << endl;

    v1.at(2); // 范围也是0 到 size() -1
    v1.front();// 返回最前元素
    v1.back();// 返回最后元素

    return 0;
}

5.其他操作

#include<iostream>
#include<vector>
#include<string>

using namespace std;

int main(){

    string str;
    vector<string> v;

    while(getline(cin, str)) {
        if(str == "q") {
            break;
        }

        v.push_back(str);
    }

    cout<<"lines :"<< v.size()<<endl;

    for(int i = 0; i < v.size(); i++) {
        cout<<"line info :"<< v[i]<<endl;
    }

    return 0;
}

运行结果

hello
jimea
,
you!
q
lines :4
line info :hello
line info :jimea
line info :,
line info :you!
请按任意键继续. . .

猜你喜欢

转载自blog.csdn.net/su749520/article/details/80287065