容器:
迭代器:
vector<int> :: iterator iter; iter1=iter.bengn(); //元素首地址 iter2=iter.end(); // *iter //地址所对应的元素 iter->neon //可自增自加; for(vector<int>::iterator iter=ivec.begin();iter=ivec.end(); ++iter *iter=0; vector:可变数组
顺序容器:
1.vector:删除元素较慢
2.list :双向链表,支持双向访问,在list中任何位置进行插入删除很快
3.deque:双端队列,支持随机访问。在头尾插入元素很快。
4.string
容器适配器:
所有适配器支持:
stack:
queue:
关联适配器:
1.map
2.set
3.multimap
4.multiset
贪心:
最长上升子序列:
1.dp O(n^2) f[i]=max(f[i-k]])+1; 以第i个结尾的最长子序列
2.O(nlogn)贪心+二分:
f[i]:长度为i的上升子序列的最后一个元素的值;
如果遇到更小的将它更新
长度为大的序列依赖于长度小的序列
单调递增,二分查找:大于等于x的最小值。