STL
WQP_Ya_Ping
程序员的自我修养。。。
展开
-
STL学习之路
STL泛型程序设计,C++的一大特色,可编写不依赖具体数据类型的程序。知识点: 1. STL四大组件(容器、迭代器(泛化的指针)、算法、函数对象(泛化的函数)) 2. 基本容器:顺序容器(Vector、deque、list)关联容器(set、multiset、map、multimap) 3. 迭代器:输入迭代器(读)、输出迭代器(写)、前向迭代器(读和写)、双向迭代器原创 2016-05-13 21:53:13 · 552 阅读 · 0 评论 -
STL学习之路(2)
承接上一篇,我们继续来感受STL的奇妙://栈的实现# include <iostream># include <string># include <iterator># include <stack>using namespace std;int main(){ stack<char>s; string str; cin>>str; for(string:原创 2016-05-14 13:14:12 · 356 阅读 · 0 评论 -
map/multimap/hashmap的区别
Map: STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据映射处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的.原创 2016-10-21 20:03:01 · 1846 阅读 · 0 评论 -
STL中Sort()源码剖析
点击打开链接Introspective Sorting(内省式排序算法)。它是一种混合式的排序算法,集成了堆排序、插入排序、快速排序三种算法各自的优点:在数据量很大时采用正常的快速排序,此时效率为O(logN)。一旦分段后的数据量小于某个阈值,就改用插入排序,因为此时这个分段是基本有序的,这时效率可达O(N)。在递归过程中,如果递归层次过深,分割行为有恶转载 2016-10-21 20:25:44 · 428 阅读 · 0 评论