先简单总结下简单常用的STL底层的实现,后期会挨个给大家解释

首先STL主要分为容器(containers)、迭代器(interators)、算法(algorithms)、函数(functors)、适配器()

容器:

向量(vector):连续存储元素,底层数据结构为数组,支持下标访问

列表(list):由节点组成的双向链表,每个节点包含着一个元素,支持快速增删

队列(queue):先进先出的值的排列

双队列(deque):连续存储的指向不同元素的指针所组成的数组,底层数据结

构为一个中央控制器和多个缓冲区,支持首位快速增删,中间不行,也支持随机访问

优先队列(priority_queue):元素的次序是由作用于所存储的值对上的某种位次

决定的一种队列,底层数据结构一般为vector,堆(heap)为处理规则来管理底层容器

实现

集合(set):由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的位次排序,没有两个不同的元素拥有相同的位次。有序,不重复

多重集合(multiset):允许两个次序相等的集合,有序,可重复

栈(stack):后进先出的值的排列

映射(map):由{键,值}对组成的集合,以某种作用于键对上的位次排序,底层数据结构为红黑树,有序,不可重复

多重映射(multimap):允许有相等的次序的映射,底层为红黑树,有序,可重复


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python保留字是指在Python编程语言中具有特殊用途的关键字,不能用作标识符(变量名、函数名等)。下面是Python的一些常见保留字及其解释: 1. `False`:表示布尔类型的假值。 2. `None`:表示空值或缺失值。 3. `True`:表示布尔类型的真值。 4. `and`:逻辑与运算符,用于判断两个条件是否同时为真。 5. `as`:用于创建别名,将一个模块或者类的名称绑定到一个更短或更方便的名称上。 6. `assert`:用于在代码中进行断言,如果断言条件为假,则抛出异常。 7. `break`:用于跳出当前循环。 8. `class`:用于定义一个类。 9. `continue`:用于跳过当前循环的剩余部分,继续下一次循环。 10. `def`:用于定义一个函数或方法。 11. `del`:用于删除对象或对象的属性。 12. `elif`:用于在if语句中添加多个条件判断。 13. `else`:用于在if语句中添加否定条件的执行代码块。 14. `except`:用于捕获异常并处理异常情况。 15. `finally`:用于定义无论是否发生异常都执行的代码块。 16. `for`:用于循环遍历一个可迭代对象。 17. `from`:用于从模块中导入指定的函数、类或变量。 18. `global`:用于在函数内部声明全局变量。 19. `if`:用于条件判断,如果条件为真,则执行相应的代码块。 20. `import`:用于导入其他模块中的函数、类或变量。 21. `in`:用于判断一个值是否存在于一个序列中。 22. `is`:用于判断两个对象是否是同一个对象。 23. `lambda`:用于创建匿名函数。 24. `nonlocal`:用于在嵌套函数中声明非局部变量。 25. `not`:逻辑非运算符,用于对布尔值取反。 26. `or`:逻辑或运算符,用于判断两个条件是否至少有一个为真。 27. `pass`:用于在代码块中占位,表示什么都不做。 28. `raise`:用于抛出异常。 29. `return`:用于从函数中返回一个值。 30. `try`:用于捕获可能发生异常的代码块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值