diff --git a/cpp/stl_rb_tree.cpp b/cpp/stl_rb_tree.cpp new file mode 100644 index 0000000..cd25ca6 --- /dev/null +++ b/cpp/stl_rb_tree.cpp @@ -0,0 +1,43 @@ +/* +VIM: let b:cf5build="clang -std=c++20 -O2 -pthread -lstdc++ -I. {SRC} -o {OUT}" +VIM: let b:cf5run="{OUT}" +*/ +#include +#include +#include +#include + +int main ( void ) +{try{ + auto begin = std::chrono::high_resolution_clock::now(); + + std::set s({1, 2, 3, 4, 5}); + //...... + auto it = s.begin(); + for (int i = 0; i < 10; i++){ + std::cout << *it++ << ", " << std::endl; + } + std::cout << "-------" << std::endl; + it = s.end(); + for (int i = 0; i < 10; i++){ + std::cout << *it-- << ", " << std::endl; + } + + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration seconds = end - begin; + std::cout << "Time: " << seconds.count() << std::endl; + return 0; +} +catch ( const std::exception& e ) +{ + std::cerr << std::endl + << "std::exception(\"" << e.what() << "\")." << std::endl; + return 2; +} +catch ( ... ) +{ + std::cerr << std::endl + << "unknown exception." << std::endl; + return 1; +}} +