本文整理汇总了C++中DataType::getKey方法的典型用法代码示例。如果您正苦于以下问题:C++ DataType::getKey方法的具体用法?C++ DataType::getKey怎么用?C++ DataType::getKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataType
的用法示例。
在下文中一共展示了DataType::getKey方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void BSTree<DataType,KeyType>:: insertHelper ( BSTreeNode *&p,
const DataType &newDataItem )
// Recursive helper function for insert. Inserts newDataItem in
// the subtree pointed to by p.
{
if ( p == 0 ) // Insert
p = new BSTreeNode(newDataItem,0,0);
else if ( newDataItem.getKey() < p->dataItem.getKey() )
insertHelper(p->left, newDataItem); // Search left
else if ( newDataItem.getKey() > p->dataItem.getKey() )
insertHelper(p->right, newDataItem); // Search right
else
p->dataItem = newDataItem; // Update
}
示例2: BSTreeNode
void BSTree<DataType, KeyType>::insertHelper( BSTreeNode* &ptr,
const DataType& newDataItem)
{
if(ptr == NULL)
{
ptr = new BSTreeNode(newDataItem, NULL, NULL);
return;
}
if(ptr->dataItem.getKey() > newDataItem.getKey())
{
insertHelper(ptr->left, newDataItem);
return;
}
if(ptr->dataItem.getKey() < newDataItem.getKey())
{
insertHelper(ptr->right, newDataItem);
return;
}
return;
}
示例3: if
void BSTree<DataType, KeyType>::insertHelper(BSTreeNode*& p, const DataType& newDataItem)
{
// If ptr is NULL, create a new node and break
if(p == NULL)
{
p = new BSTreeNode(newDataItem, NULL, NULL);
return;
}
// If ptr data is greater than value, go down left tree
if(p->dataItem.getKey() > newDataItem.getKey())
{
insertHelper(p->left, newDataItem);
}
else if(p->dataItem.getKey() < newDataItem.getKey()) // If ptr data is less than value, go down right tree
{
insertHelper(p->right, newDataItem);
}
else // If ptr data is equal to value, update data item with new DataItem; ie, don't do anything
{
p->dataItem = newDataItem;
}
}
示例4:
void HashTable<DataType, KeyType>::insert(const DataType& newDataItem)
{
int i = ( newDataItem.hash( newDataItem.getKey() ) % tableSize );
dataTable[i].insert( newDataItem );
}