Skip to content
Snippets Groups Projects
Select Git revision
  • 70e33253cd07abc7132d98708e21a252c38275b7
  • master default protected
2 results

tree_test.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    tree_test.cpp 1.17 KiB
    #include "biased_binary_tree.h"
    #include <vector>
    #include <iostream>
    
    int main(){
      BiasedBinaryTree<int> start (std::make_shared<BiasedBinaryNode<int>>(5));
      for(int i = 1; i < 5; i++){
        std::cout << "joining " << i << std::endl;
        start.join(BiasedBinaryTree(std::make_shared<BiasedBinaryNode<int>>(2)));
      }
      BiasedBinaryTree<int> second (std::make_shared<BiasedBinaryNode<int>>(5));
      std::shared_ptr<BiasedBinaryNode<int>> split_pos = second.root();
      for(int i = 1; i < 5; i++){
        std::cout << "joining " << i << std::endl;
        second.join(BiasedBinaryTree(std::make_shared<BiasedBinaryNode<int>>(i)));
      }
      start.join(second);
      std::cout << "----------------" << std::endl;
      std::cout << start;
      BiasedBinaryTree<int> before;
      BiasedBinaryTree<int> after;
      std::cout << "-.-.-.-" << std::endl;
      std::cout << "use_count : " << split_pos.use_count() << std::endl;
      std::shared_ptr<BiasedBinaryNode<int>> removed_parent, removed_root;
      start.split_at(split_pos, before, after, removed_parent, removed_root);
      std::cout << "----------------" << std::endl;
      std::cout << before;
      std::cout << "----------------" << std::endl;
      std::cout << after;
      std::cout << split_pos;
    }