Exemple #1
0
		void SplayTree<Key, Data>::RecursiveConvertToDArray(DArray<Data> *darray, SplayNode<Key, Data> *btree) const
		{
			if (!btree) return;

			RecursiveConvertToDArray(darray, btree->left);
			darray->insert(btree->data);
			RecursiveConvertToDArray(darray, btree->right);
		}
Exemple #2
0
		void RedBlackTree<Key, Data>::RecursiveConvertToDArray(DArray<Data> *darray, RedBlackNode<Key, Data> *btree) const
		{
			if (!valid(btree)) return;

			RecursiveConvertToDArray(darray, btree->left);
			darray->insert(btree->data);
			RecursiveConvertToDArray(darray, btree->right);
		}
void BTree<T>::RecursiveConvertToDArray( DArray <T> *darray, BTree<T> *btree )
{
    AppAssert(darray);
    
    if( !btree ) return;            // Base case
    
    if( btree->id ) darray->PutData( btree->data );
    
    RecursiveConvertToDArray( darray, btree->Left () );
    RecursiveConvertToDArray( darray, btree->Right() );
}
DArray <T> *BTree<T>::ConvertToDArray()
{
    DArray <T> *darray = new DArray <T>;
	darray->SetSize( Size() );
    RecursiveConvertToDArray( darray, this );
    
    return darray;
}
Exemple #5
0
DArray <T> *BTree <T> :: ConvertToDArray ()
{
    
    DArray <T> *darray = new DArray <T>;
    RecursiveConvertToDArray ( darray, this );
    
    return darray;
    
}
Exemple #6
0
		DArray<Data> *SplayTree<Key, Data>::ConvertToDArray() const
		{
			DArray<Data> *darray = new DArray<Data> ((int)size());
			RecursiveConvertToDArray(darray, root);
			return darray;
		}
Exemple #7
0
		DArray<Data> *RedBlackTree<Key, Data>::ConvertToDArray() const
		{
			DArray<Data> *darray = new DArray<Data> ((int)size());
			RecursiveConvertToDArray(darray, rootNode);
			return darray;
		}