栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

c++ STL 数据结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ STL 数据结构

STL 应用

目录

目录

STL 应用

    容器通用函数:

.size() :               容器内元素个数

.empty() :               判断容器是否为空, 返回值为 bool 型

.front():                返回容器第一个元素

.back() :               返回容器最后一个元素

.begin() :               返回容器第一个元素的指针

.end() :               返回容器最后一个元素的指针

.swap(b) :                交换两个容器的内容

:: iterator :              迭代器

1. vector (动态数组)

        1.创建

        2.添加

        3.删除

 2. 栈

        栈只用记住四个字:先进后出!!!先进后出!!!先进后出!!!

      操作

3. 队列(queue)

队列只用记住四个字:先进先出!!!先进先出!!!先进先出!!!

      操作

4.set

      操作

建议题目 :


    容器通用函数:

.size() :               容器内元素个数

.empty() :               判断容器是否为空, 返回值为 bool 型

.front():                返回容器第一个元素

.back() :               返回容器最后一个元素

.begin() :               返回容器第一个元素的指针

.end() :               返回容器最后一个元素的指针

.swap(b) :                交换两个容器的内容

:: iterator :              迭代器

进入正题

1. vector (动态数组)

        动态数组 顾名思义就是封装了动态大小数组的顺序容器。其中所有元素按照线性顺序排序。可直接访问第几位。

        注意:动态数组的下标从 0 开始。

        1.创建
vector  a;
vector  a(100);
vector  a[15]; // 二维数组

        2.添加
a.push_back(x);
a.insert(a.begin() + 1, x); // 在 a.begin() 指向元素 前 插入一个 x

        3.删除
a.pop_back();

 2. 栈

        很多人都觉得 栈 非常的难, 但是只要你理解了 它 的思维,写起来一点也不难。

        栈只用记住四个字:先进后出!!!先进后出!!!先进后出!!!

      操作

        1. stack s;

        2. .push(x);

        3. .pop();

        4. .top();

        5. .empty()

        6. .size()

        (具体都是啥我不用讲了吧)上图!

推荐习题 : 表达式括号匹配 - 洛谷

后缀表达式 - 洛谷

3. 队列(queue)

队列只允许从队尾入队,从队首出队。 就像 排队接水。

队列只用记住四个字:先进先出!!!先进先出!!!先进先出!!!       操作

        1. queue q;

        2. .push(x);

        3. .pop();

        4. .top();

        5. .empty()

        6. .size()

       (具体都是啥我又不用讲了吧 )

        


4.set
 

关于set,必须说明的是set关联式容器。set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择作为了关联容器的内部结构。

注意:

1、set中的元素都是排好序的

2、set集合中没有重复的元素

      操作

        1. set s;

        2. .insert(x);

        3. .erase();

        4. .find();

        5. .empty()

        6. .count()

        7. .clear()

        8. lower_bound / upper_bound

建议题目 :

亲戚 - 洛谷

保龄球 - 洛谷

A-B 数对 - 洛谷

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号