VS2010中写C++程序,错误LNK2019,不知道原因,求助。。。
/***********************************************main.cpp*****************************...
/***********************************************
main.cpp
***********************************************/
#include <iostream>#include "binarySearchTree.h"
using namespace std;
int main(){ int temp; BinarySearchTree<int> bsTree; for (int i = 0; i < 10; i++) { cout<<"输入结点数据"<<endl; cin>>temp; bsTree.Insert(10); }
system("pause"); return 0;}
编译产生错误,不知道什么原因
/************************************************************
二叉排序树头文件
************************************************************/#pragma once
//二叉查找树结点template <typename DataType>struct BinarySearchTreeNode{ DataType data; struct BinarySearchTreeNode *plChild; struct BinarySearchTreeNode *prChild;};
template <typename DataType>class BinarySearchTree{public: BinarySearchTree(BinarySearchTreeNode<DataType> *pRoot = NULL) :m_pRoot(pRoot){ } ~BinarySearchTree(){ }
int Insert(const DataType data); int Delete(const DataType data); BinarySearchTreeNode<DataType>* Find(const DataType data); BinarySearchTreeNode<DataType>* FindMax(); BinarySearchTreeNode<DataType>* FindMin();
void ShowInOrder(); int GetNodeQuantity(); int GetDepth();
private: int Insert(const DataType data, BinarySearchTreeNode<DataType> *p); int Delete(const DataType data, BinarySearchTreeNode<DataType> *p); BinarySearchTreeNode<DataType>* Find(const DataType data, BinarySearchTreeNode<DataType> *p); BinarySearchTreeNode<DataType> *FindMax(BinarySearchTreeNode<DataType> *p); BinarySearchTreeNode<DataType> *FindMin(BinarySearchTreeNode<DataType> *p);
void ShowInMidOrder(BinarySearchTreeNode<DataType> *p);
private: BinarySearchTreeNode<DataType>* m_pRoot; int m_nQuantity; //结点数量 int m_tDepth; //树的深度};
/************************************************************
文件:二叉排序树的实现
************************************************************/#include <iostream>#include "binarySearchTree.h"using namespace std;
//pubilctemplate <typename DataType>int BinarySearchTree<DataType>::Insert(const DataType data){ return Insert(data, m_pRoot);}
template <typename DataType>int BinarySearchTree<DataType>::Insert(const DataType data, BinarySearchTreeNode<DataType> *p){ if (p == NULL) //找到位置 { p = new BinarySearchTreeNode; p->data = data; p->plChild = NULL; p->prChild = NULL; return 0; }
if (data < p->data) Insert(data, p->plChild); else Insert(data, p->prChild);}
... 展开
main.cpp
***********************************************/
#include <iostream>#include "binarySearchTree.h"
using namespace std;
int main(){ int temp; BinarySearchTree<int> bsTree; for (int i = 0; i < 10; i++) { cout<<"输入结点数据"<<endl; cin>>temp; bsTree.Insert(10); }
system("pause"); return 0;}
编译产生错误,不知道什么原因
/************************************************************
二叉排序树头文件
************************************************************/#pragma once
//二叉查找树结点template <typename DataType>struct BinarySearchTreeNode{ DataType data; struct BinarySearchTreeNode *plChild; struct BinarySearchTreeNode *prChild;};
template <typename DataType>class BinarySearchTree{public: BinarySearchTree(BinarySearchTreeNode<DataType> *pRoot = NULL) :m_pRoot(pRoot){ } ~BinarySearchTree(){ }
int Insert(const DataType data); int Delete(const DataType data); BinarySearchTreeNode<DataType>* Find(const DataType data); BinarySearchTreeNode<DataType>* FindMax(); BinarySearchTreeNode<DataType>* FindMin();
void ShowInOrder(); int GetNodeQuantity(); int GetDepth();
private: int Insert(const DataType data, BinarySearchTreeNode<DataType> *p); int Delete(const DataType data, BinarySearchTreeNode<DataType> *p); BinarySearchTreeNode<DataType>* Find(const DataType data, BinarySearchTreeNode<DataType> *p); BinarySearchTreeNode<DataType> *FindMax(BinarySearchTreeNode<DataType> *p); BinarySearchTreeNode<DataType> *FindMin(BinarySearchTreeNode<DataType> *p);
void ShowInMidOrder(BinarySearchTreeNode<DataType> *p);
private: BinarySearchTreeNode<DataType>* m_pRoot; int m_nQuantity; //结点数量 int m_tDepth; //树的深度};
/************************************************************
文件:二叉排序树的实现
************************************************************/#include <iostream>#include "binarySearchTree.h"using namespace std;
//pubilctemplate <typename DataType>int BinarySearchTree<DataType>::Insert(const DataType data){ return Insert(data, m_pRoot);}
template <typename DataType>int BinarySearchTree<DataType>::Insert(const DataType data, BinarySearchTreeNode<DataType> *p){ if (p == NULL) //找到位置 { p = new BinarySearchTreeNode; p->data = data; p->plChild = NULL; p->prChild = NULL; return 0; }
if (data < p->data) Insert(data, p->plChild); else Insert(data, p->prChild);}
... 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询