本文整理汇总了C++中AVLTree::Size方法的典型用法代码示例。如果您正苦于以下问题:C++ AVLTree::Size方法的具体用法?C++ AVLTree::Size怎么用?C++ AVLTree::Size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AVLTree
的用法示例。
在下文中一共展示了AVLTree::Size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dist
TEST(AVLTree, FuzzyDeletion) {
AVLTree<int, int> b;
map<int, int> rb;
mt19937_64 _e1(chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<int> dist(0, 1000);
for (int i = 0; i < 5000; i++) {
int t = dist(_e1);
if (i % 3 == 0) {
auto it = rb.find(t);
if (it == rb.end()) {
ASSERT_EQ(b.Erase(t), false);
} else {
rb.erase(t);
ASSERT_EQ(b.Erase(t), true);
ASSERT_EQ(b.Find(t).second, false);
}
}
b[t] = i * i;
rb[t] = i * i;
ASSERT_EQ(b.Find(t).first, i * i);
}
ASSERT_EQ(b.Size(), rb.size());
for (int i = 0; i < 1000; i++) {
auto it = rb.find(i);
if (it == rb.end()) {
ASSERT_EQ(b.Find(i).second, false);
ASSERT_EQ(b.Erase(i), false);
continue;
}
ASSERT_EQ(b.Find(i).second, true);
ASSERT_EQ(b.Find(i).first, rb[i]);
rb.erase(i);
ASSERT_EQ(b.Erase(i), true);
ASSERT_EQ(b.Find(i).second, false);
}
ASSERT_EQ(b.Size(), rb.size());
}
示例2: main
int main(int argc,char*argv[])
{
AVLTree<string> avlTree;
BSTree<string> bsTree;
string str, last;
char c;
if (argc != 2)
{
cerr << "Parameters: <filename>. use quotations around long path names." << endl;
return 1;
}
ifstream ifsInput(argv[1],ios::in | ios::binary);
if (!ifsInput)
{
cerr << "Couldn't open input file." << endl;
return 2;
}
while (ifsInput.get(c) && !ifsInput.eof())
{
switch (c)
{
case '.':
case ',':
case '\'':
case '\"':
case ':':
case ';':
case '<':
case '>':
case '/':
case '?':
case '[':
case ']':
case '{':
case '}':
case '\\':
case '|':
case '!':
case '#':
case '$':
case '%':
case '^':
case '&':
case '*':
case '(':
case ')':
case '_':
case '=':
case '`':
case ' ':
case '\r':
case '\n':
case '\t':
if (str.size())
{
avlTree.Insert(str);
bsTree.Insert(str);
last = str;
}
str = "";
continue;
default:
str += c;
continue;
}
}
ifsInput.close();
//x.Output(Print);
cout << "AVL Height: " << avlTree.Height() << endl;
cout << "BST Height: " << bsTree.Height() << endl;
cout << "AVL Size: " << avlTree.Size() << endl;
cout << "BST Size: " << bsTree.Size() << endl;
clock_t stime, etime;
double elapse;
int i;
cout << "Searching for \"" << last << "\"..." << endl;
stime = clock();
for (i = 0; i < 100000; i++)
avlTree.Find(last);
etime = clock();
elapse =(double)(etime-stime)/CLOCKS_PER_SEC;
cout << "Search in AVL tree took " << elapse << " seconds " << endl;
stime = clock();
for (i = 0; i < 100000; i++)
bsTree.Find(last);
etime = clock();
elapse =(double)(etime-stime)/CLOCKS_PER_SEC;
cout << "Search in BST tree took " << elapse << " seconds " << endl;
//.........这里部分代码省略.........