我目前正在为我的大学课程工作,创建一个带有菜单的AVL树,该菜单允许用户输入要添加到树中的项目(整数)。到目前为止我唯一输入的方法是add例程,它将用户输入传递给Add例程,然后将其传递给类中的方法。但是,没有任何语法错误,我可以构建解决方案,并且它构建有点缓慢。当我点击f5或尝试调试时,Visual Studio似乎只是加载。它不会崩溃,但我必须在任务管理器中强行关闭它。我的代码如下。
#include "stdafx.h"
#include <iostream>
using namespace std;
struct Node
{
int data;
Node * left;
Node * right;
int balance;
};
typedef Node * ptrNode;
class AVLTree
{
private:
Node * root = NULL;
Node ** trav = &root;
public:
void AddItem(int item);
void deleteNode(int item);
void clearTree();
void inorder();
void showtree();
void Add(int item)
{
AddItem(root, item);
}
void AddItem(Node *&trav, int item)
{
if (trav == NULL)
{
trav = new Node;
trav->data = item;
}
else if (trav->data > item)
{
AddItem(trav->left, item);
}
else
{
AddItem(trav->right, item);
}
}
};
void main()
{
int choice;
int item;
AVLTree tree;
cout << (This is a menu here, I omitted it since I'm fairly positive it's not causing this)
cin >> choice;
switch (choice)
{
case 1:
cout << "Enter number to add: ";
cin >> item;
tree.Add(item);
}
system("pause");
}
答案 0 :(得分:1)
我试图在笔记本电脑上运行时出现同样的问题。但该计划在学校的计算机上运行良好。尝试暂时禁用防病毒软件