EDIT există un lucru mic pe care eu lipsesc !! eroarea este încă acolo
Deci, eu sunt încercarea de a învăța cum să cod primul meu BST, și este greu .... Sunt care au deja probleme cu doar câteva linii de coduri. problema este în insera, dar am inclus tot, astfel încât am putea obține un feedback pe stilul meu / alte erori. Am fost sugerat de a utiliza un pointer la punerea în aplicare pointer, dar am havent învățat încă, așa că am dont simt confort / știu cum să-l cod încă.
eroare este
[trinhc@cs1 Assignment_3]$ g++ movieList.cpp -o a.out
/tmp/ccLw6nsv.o: In function `main':
movieList.cpp:(.text+0x7a): undefined reference to `Tree::Tree()'
movieList.cpp:(.text+0xa7): undefined reference to `Tree::insert(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
collect2: ld returned 1 exit status
fișierul tree.h
#ifndef TREE_H
#define TREE_H
#include <string>
#include <iostream>
using namespace std;
class Tree
{
public:
Tree();
bool insert(int k, string s);
private:
struct Node
{
int key;
string data;
Node *left;
Node *right;
};
Node* root;
bool insert(Node*& root, int k, string s);
};
#endif
tree.cpp
#include <iostream>
#include tree.h
#include <stack>
#include <queue>
#include <string>
using namespace std;
Tree::Tree()
{
root = NULL;
}
bool Tree::insert(int k, string s)
{
return insert(root, k, s);
}
bool Tree::insert(Node*& current_root, int k, string s)
{
if(root == NULL){
current_root = new Node;
current_root->key = k;
current_root->data = s;
current_root->left = NULL;
current_root->right = NULL;
return true;
}
else if (current_root->key == k)
return false;
else if (current_root->key > k)
insert(current_root->left, k, s);
else
insert (current_root->right,k, s);
}
movieList.cpp
#include <iostream>
#include <stack>
#include <queue>
#include <string>
#include tree.h
using namespace std;
int main()
{
Tree test;
test.insert(100, blah);
return 0;
}













