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

📄 blinktree.h

📁 华南华范大学计机实验2二叉树实验,不含实验报告
💻 H
字号:
#include<iostream>
using namespace std;
struct student{       //存放学生的记录
	char name[20];
	int no[20];
	int birthday[10];
	char sex[10];
	char heath[10];
};
typedef student DataType;

//class BLinkNode的定义和实现
class BLinkNode {
public:
	DataType data;
	BLinkNode * lchild;
	BLinkNode * rchild;
	BTreeNode(){lchild=NULL;rchild=NULL;}
};

//class BLinkTree的定义
class BLinkTree {
private:
	    BTreeNode *head;   //二叉链树的根指针
		int number;       //二叉树中的结点总数

public:
		BLinkTree(void); //构造函数,建立空二叉链表
		void Clear(void); //清空二叉链表的所有结点,成为空二叉链表
        void Clear_post(BTreeNode *t,int first);
		void Insert(void);  //新插入学生记录,作为二叉链表的最后一个叶结点
        BTreeNode *Locate(int no[20]);   //非递归中序遍历按学号查找学生记录
		void Delete(void);  //删除元素,先查找到要删除的元素存在,然后交换到度为1的后继再删除
		           //简单的处理办法:删除元素只做标记,并不删除,只是在查找和显示中忽略,
		           //写入文件时不写入。下次读入文件建立二叉链表时不再有此元素
		void Load(void);  //文件中的记录按层次遍历序列建立完全二叉树
		void Save(void); //按层次遍历序列将元素写入文件
		void SearchNo(void); //按前序遍历次序查找
		void Display(void);  //分别按前序、中序、后序遍历输出
		void Display_pre(BTreeNode *t);
	    friend istream& operator>>(istream& input,DataType& itemval);
	    friend ostream& operator<<(ostream& output,DataType& itemval);

};

⌨️ 快捷键说明

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