int main() { int a[] = {4,1,3,5,2}; Treap bst = Treap(); for (int i=0; i<5; i++) { pair< Treap, Treap > splitedTreap = bst.SplitByVal(a[i]); Treap singleNodeTreap = Treap(a[i], 1); bst = splitedTreap.X.Join(singleNodeTreap); bst = bst.Join(splitedTreap.Y); } bst.Print(); return 0; }