编程 == 数据结构 + 算法
描述事物
事情 算法 流程
物品 数据结构 数据
1. 方法论比知识重要!
2. 只有合适的,没有最好的!
STL (Standard Template Library) 的概述:
1.序列式容器
vector(数组)
list(链表)
queue(队列)
stack(栈)
deque(双向队列)
关联式容器:
map ()
set
。。。。。。
排序算法I
排序算法II
无序树
有序二叉树
完全二叉树
寻路算法 深度 广度 A星
堆
平衡二叉树
STL list&deque&map&set 。。。 高级树
图
hash
哈夫曼压缩
STL 概述 自制STL
vector
MyVector
list
MyList
类库 :
很多个类。 vector 动态数组类 list queue stack deque 。。。。
STL 容器 方便 安全
int array[4];
vector
int* p;
vector<int> v;
迭代器: 智能指针
iterator
容器中元素的地址 首地址 指针
begin() 第一个元素的地址
end() 最后一个元素的下一个元素的地址 逾尾迭代器
迭代器失效:
如果容器本身发生变化,原来的迭代器失效!使用迭代器需要注意!
容器的分类:
序列式容器,可序式容器: 以时间为顺序,数据无序
vector list deque stack queue
数组 链表 双向队列 栈 队列
已序式容器:数据有序
map set multimap multiset