本文整理汇总了C++中AVLTree::ImplementedIndexing方法的典型用法代码示例。如果您正苦于以下问题:C++ AVLTree::ImplementedIndexing方法的具体用法?C++ AVLTree::ImplementedIndexing怎么用?C++ AVLTree::ImplementedIndexing使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AVLTree
的用法示例。
在下文中一共展示了AVLTree::ImplementedIndexing方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AVLStressSmall
void AVLStressSmall(void)
{
const char *test = "AVLStressSmall";
std::cout << "\n====================== " << test << " ======================\n";
int *ia = 0;
try
{
AVLTree tree;
int correct_nums[] = {1, 15, 22, 20, 12, 3, 0, 19, 18, 17, 8, 10, 9, 24, 6, 11, 4, 21, 7, 14, 13, 23, 5, 2, 16};
int size = 25;
ia = new int[size];
for (int i = 0; i < size; i++)
ia[i] = correct_nums[i];
//Shuffle(ia, size, 1);
Print(ia, size);
for (int i = 0; i < size; i++)
{
tree.insert(ia[i]);
//PrintInfo(tree);
std::cout << "Insert item #" << i << ":" << ia[i] << " =========================================\n";
PrintBST(tree);
}
PrintInfo(tree);
//PrintBST(tree);
Shuffle(ia, size, 1);
for (int i = 0; i < size - 10; i++)
{
tree.remove(ia[i]);
std::cout << "Remove item #" << i << ":" << ia[i] << " =========================================\n";
PrintBST(tree);
}
PrintInfo(tree);
PrintBST(tree);
if (tree.ImplementedIndexing())
for (unsigned i = 0; i < tree.size(); i++)
std::cout << "Index " << i << ": " << tree[static_cast<int>(i)]->data << std::endl;
}
catch(const BSTException& e)
{
std::cout << "Exception caught: " << e.what() << std::endl;
}
catch(...)
{
std::cout << "Unknown exception." << std::endl;
}
delete [] ia;
}
示例2: AVLStress
void AVLStress(void)
{
const char *test = "AVLStress";
std::cout << "\n====================== " << test << " ======================\n";
int *ia = 0;
try
{
AVLTree tree;
int size = 10000;
ia = new int[size];
for (int i = 0; i < size; i++)
ia[i] = i;
Shuffle(ia, size, 1);
Print(ia, size);
for (int i = 0; i < size; i++)
{
tree.insert(ia[i]);
PrintInfo(tree);
//PrintBST(tree);
}
// Stress indexing
if (tree.ImplementedIndexing())
{
int sum = 0;
for (int j = 0; j < 1000; j++)
for (int i = size - 1; i > size - 1000; i--)
sum += tree[i]->data;
std::cout << "Sum is " << sum << std::endl;
}
PrintInfo(tree);
//PrintBST(tree);
Shuffle(ia, size, 1);
for (int i = 0; i < size - 10; i++)
{
tree.remove(ia[i]);
PrintInfo(tree);
}
PrintInfo(tree);
PrintBST(tree);
if (tree.ImplementedIndexing())
for (unsigned i = 0; i < tree.size(); i++)
std::cout << "Index " << i << ": " << tree[static_cast<int>(i)]->data << std::endl;
}
catch(const BSTException& e)
{
std::cout << "Exception caught: " << e.what() << std::endl;
}
catch(...)
{
std::cout << "Unknown exception." << std::endl;
}
delete [] ia;
}