This commit is contained in:
邹晓航
2014-10-15 13:48:14 +08:00

View File

@@ -1,6 +1,6 @@
TinySTL
=======
采用C++11实现一款简易的STL标准库
采用C++11实现一款简易的STL标准库既是C++STL的一个子集又是一个超集
目的练习数据结构与算法和C++ Template编程
@@ -27,6 +27,7 @@ TinySTL
* R-tree
* Matrix
* Graph
* ThreadPool
##完成进度:
* STL的几大基本组件
@@ -39,11 +40,17 @@ TinySTL
* fill100%
* fill_n100%
* find100%
* is_heap100%
* min、max100%
* make_heap100%
* pop_heap100%
* push_heap100%
* sort_heap100%
* swap100%
* circular_buffer100%
* bitmap100%
* string100%
* priority_queue100%
#TinySTL测试:
###测试环境Windows 7 && VS2013 && release模式
@@ -127,4 +134,37 @@ TinySTL
######i = 10000000 -> (TinySTL::string39ms \\ std::string229ms)
######i = 100000000 -> (TinySTL::string484ms \\ std::string1965ms)
####(6):priority_queue<int>
//std::priority_queue<int> pq;
TinySTL::priority_queue<int> pq;
ProfilerInstance::start();
int i = 0;
for (; i != 100000; ++i){
pq.push(i);
}
ProfilerInstance::finish();
ProfilerInstance::dumpDuringTime();
######i = 100000 -> (TinySTL::priority_queue&lt;int>13ms \\ std::priority_queue&lt;int>12ms)
######i = 1000000 -> (TinySTL::priority_queue&lt;int>97ms \\ std::priority_queue&lt;int>67ms)
######i = 10000000 -> (TinySTL::priority_queue&lt;int>1032ms \\ std::priority_queue&lt;int>752ms)
TinySTL::vector<int> v;
int i = 0;
for (; i != 100000; ++i){
v.push_back(i);
}
//std::priority_queue<int> pq(v.begin(), v.end());
TinySTL::priority_queue<int> pq(v.begin(), v.end());
ProfilerInstance::start();
for (i = 0; i != 100000; ++i){
pq.pop();
}
ProfilerInstance::finish();
ProfilerInstance::dumpDuringTime();
######i = 100000 -> (TinySTL::priority_queue&lt;int>19ms \\ std::priority_queue&lt;int>7ms)
######i = 1000000 -> (TinySTL::priority_queue&lt;int>137ms \\ std::priority_queue&lt;int>92ms)
######i = 10000000 -> (TinySTL::priority_queue&lt;int>1532ms \\ std::priority_queue&lt;int>1214ms)