"God Wrote in LISP Code" という歌の中で、彼らは C (または C++) で「神だけが木を作ることができる」と言っています。私は信じ始めました。
free_spaces
私はツリークラスの始まりを持っていますが、理由はわかりませんが、私のクラスは破壊時にエラーが my the queue であると言ってセグメンテーション違反を起こします。さらに、ランダムなバグがあちこちに潜んでいるようです。
私はこれまでこのようなテンプレートを使用したことがないので、隠れた悪用が行われている可能性があります。
どんな助けでも大歓迎です。
header.h
#include<vector>
#include<queue>
#include<iostream>
using namespace std;
template <class T>
class node {
public:
int leftChild,parent;
bool empty;
T data;
node() : leftChild(-1), parent(-1), empty(true) {}
};
template <class T>
class AvlTree {
private:
vector< node<T> > nodes;
queue<int> free_spaces;
int root;
int newnode(int parent){
int index=nodes.size();
nodes.push_back(node<T>());
nodes[index].parent=parent;
return index;
}
public:
AvlTree(){
nodes.push_back(node<T>());
root=0;
}
void grow(){
nodes[root].leftChild=newnode(root);
}
};
main.h
#include "header.h"
int main(){
AvlTree<int> bob;
bob.grow();
cerr<<"Made it to end."<<endl;
}