Example #1
0
    public static void Main(string[] args)
    {
        Treap treap = new Treap();

        treap.Merge(ref treap.root, treap.root, new Node(1));
        treap.Merge(ref treap.root, treap.root, new Node(2));
        treap.Merge(ref treap.root, treap.root, new Node(3));
        treap.Merge(ref treap.root, treap.root, new Node(4));
        Treap left  = new Treap();
        Treap right = new Treap();

        treap.Split(treap.root, ref left.root, ref right.root, 2);
        treap.Merge(ref treap.root, right.root, left.root);
        treap.Read(treap.root);
    }