⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实验三1.h

📁 希尔排序算法的实现C++sdvzvaGedgvfsewfcAWfqawfaswfasfc
💻 H
字号:
#ifndef BINTREE_H
#define BINTREE_H
#include<iostream.h>
template<class Type> class bintree;
template<class Type> class bintreenode{
	friend class bintree<Type>;
	public:
		bintreenode():leftchild(NULL),righechild(NULL){}
		bintreenode(Type item,bintreenode<Type> *left=NULL,bintreenode<Type> *right=NULL):data(item),leftchild(left),rightchild(right){}
	private:
		bintreenode<Type> *leftchild, *rightchild;
		Type data;
};

template<class Type> class bintree{
	public:
		bintree():root(NULL){}
		bintree(Type value):refvalue(value),root(NULL){}
		void CreateBinTree (bintreenode<Type> * &current);
		int IsEmpty(){return root==NULL?1:0;}
       int size(bintreenode<Type> *t);
		void destroy(bintreenode<Type> *current);
		void inorder(bintreenode<Type> *t);
		bintreenode<Type> *root;
	private:
		Type refvalue;
};
template<class Type> void bintree<Type>::CreateBinTree(bintreenode<Type> * &current){
   Type item;
	//cout<<"顺序输入树结点的值:";
	cin>>item;  
if (item!=00){
	current=new bintreenode<Type>(item);	 
	CreateBinTree(current->leftchild);
	CreateBinTree(current->rightchild);
     }
       else current=NULL;  
}
/*template<class Type>void bintree<Type>::destroy(bintreenode<Type> *current){
	if(current!=NULL){
		destroy(current->leftchild);
		destroy(current->rightchild);
		delete current;
	}
}
*/
template<class Type>int bintree<Type>::size(bintreenode<Type> *t)
{
	if(t==NULL) return 0;
	else return (1+size(t->leftchild)+size(t->rightchild));
}

template<class Type>void bintree<Type>::inorder(bintreenode<Type>* t){

	if(t!=NULL){
		cout<<t->data<<"  ";
		inorder(t->leftchild);
		inorder(t->rightchild);
		}
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -