STL:上

STL:C++标准模板库

A、HP版本------SGI(所有的SGI版本都是继承自HP版本

1、常用的数据结构的封装

2、通用的算法:模板(让处理的数据与类型无关)+仿函数(函数指针)

B、六大组件:

容器:

a、线性结构(序列式容器)

string:管理字符串(字符串类型的动态顺序表)

array:静态顺序表(C++11)

vector:动态顺序表

list:带头节点的双向循环链表

foward_list:带头节点的循环单链表

deque:双向队列,动态二位数组结构

b、特殊的容器(适配器):只是把双向队列的接口进行了封装形成了一种新的结构。

stack:用迭代器把栈中的内容从前到后打印(栈的这种数据结构是一种后进先出的线性结构,只是在栈顶进行操作,操作的只是尾端,所以这里的遍历一遍是错误的。这个问题就是一个有问题的问题)

queue:

priority_queue:优先级队列(堆)把堆算法重新封装,元素放到vector中,空间也就没有浪费。

c、关联式容器:容器中存放的是一个一个的键值对<key,value>是一一对应的关系。

有序序列:搜索树结构

二叉搜索树:1、概念(一棵二叉搜索树可能为空;根节点比左子树中任何节点都大,比右子树中任何节点都小,并且他们的左右子树都是二叉搜索树二叉搜索树最左边的节点是最小的,最右边的节点是最大的,通过中序遍历可以得到一个有序序列(删除*)(关联式容器没有使用二叉搜索树,就是因为二叉搜索树的性能比较差,虽然这种树的原理简单,但是入果给定的序列是一个有序序列,就是一棵单只树,单只树中查找某个元素时间复杂度是O(n),所以不使用二叉搜索树。

效率高:哈希桶结构

猜你喜欢

转载自blog.csdn.net/xuruhua/article/details/81294783
STL