Пример #1
0
		void SplayTree<Key, Data>::RecursiveConvertIndexToDArray(DArray<Key> *darray, SplayNode<Key, Data> *btree) const
		{
			if (!btree) return;

			RecursiveConvertIndexToDArray(darray, btree->left);
			darray->insert(btree->id);
			RecursiveConvertIndexToDArray(darray, btree->right);
		}
Пример #2
0
		void RedBlackTree<Key, Data>::RecursiveConvertIndexToDArray(DArray<Key> *darray, RedBlackNode<Key, Data> *btree) const
		{
			if (!valid(btree)) return;

			RecursiveConvertIndexToDArray(darray, btree->left);
			darray->insert(btree->id);
			RecursiveConvertIndexToDArray(darray, btree->right);
		}
void BTree<T>::RecursiveConvertIndexToDArray( DArray <char *> *darray, BTree<T> *btree )
{
    AppAssert(darray);
    
    if( !btree ) return;            // Base case
    
    if( btree->id ) darray->PutData( btree->id );
    
    RecursiveConvertIndexToDArray( darray, btree->Left () );
    RecursiveConvertIndexToDArray( darray, btree->Right() );
}
DArray <char *> *BTree<T>::ConvertIndexToDArray()
{
    DArray <char *> *darray = new DArray <char *>;
	darray->SetSize( Size() );
    RecursiveConvertIndexToDArray( darray, this );
    
    return darray;
}
Пример #5
0
		DArray<Key> *SplayTree<Key, Data>::ConvertIndexToDArray() const
		{
			DArray<Key> *darray = new DArray<Key> ((int)size());
			RecursiveConvertIndexToDArray(darray, root);
			return darray;
		}