JNI基础 -- C++基础知识(容器)

2020-04-20  本文已影响0人  刘小厨
C++ 中有两种容器 1.序列式容器 2.关联式容器

这两种容器都在stl标准模板库

序列式容器

序列式容器:元素排列顺序与元素本身无关,由添加顺序决定, 比如Java中的Stack栈
C++中有很多序列式容器,比如:
vector、list、dequeue、queue、stack、priority_queue
其中vector、list、dequeue、queue实现方式类似,以vector为例,简单介绍用法:

vector:向量容器

//引入头文件,使用std命名空间
#include <vector> 
using namespace std;

    //最简单的传建一个容器
    vector<int> vec_1;
    //声明有一-个元素空间
    vector<int> vec_2(1);
    // 6个元素值都是1
    vector<int> vec_3(6, 1);
    //通过一个容器为基础,创建一个新容器
    vector<int> vec_4(vec_3);

    //添加元素
    vec_1.push_back(10);
    //通过数组的方式获取元素
    vec_1[0];
    //获取容器的队前元素
    vec_1.front;
    //获取容器的队尾
    vec_1.back;
    //清除容器所有数据
    vec_1.clear();
    //清除某一区间的数据
    vec_1.erase(vec_1.begin, vec_1.end);
    //获取容器大小
    vec_1.capacity();

关联式容器

关联式容器最为典型的是setmap

set集合的使用:

//引入set头文件
#include <set> 
//set集合,元素不可重复
    set<int> set1 = { 1,2,3,4 };
    //插入数据
    set1.insert(6);
    //插入数据返回是否成功
    pair<set<int>::iterator,bool> _pair= set1.insert(5);
    //迭代器
    set<int> ::iterator itt = set1.begin();
    set1.end();//指向最后一个元素的下一个元素,一般为NULL,可以以此判断是否遍历到末尾
    for (; itt != set1.end(); itt++)
    {
        cout << *itt << endl;
    }
    //获取大小
    set1.size();

map容器的使用:

 map<int, string> map1;
    //key不能为空,不能重复
    map<int, string> map2 = { {1, "A"}, { 2,"B" } } ;
    //插入元素
    map2.insert({ 3, "C" });
    //查找元素
    map2[3];
上一篇 下一篇

猜你喜欢

热点阅读