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

📄 tree.h

📁 实现了对家谱管理系统的添加
💻 H
字号:
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<iomanip>
using namespace std;

class memberTree
{
public:
   int data;
   memberTree *parent;
   memberTree *child;
   memberTree *brother;
};

class List
{
public:
   int num;
   List *next;
   int length;
};

class Stack
{
public:
   memberTree **base;
   memberTree **top;
   int stacksize;
};

class memberData
{
public:
   int MemberNumber;//编号
   char Name[20];//姓名
   char BornPlace[20];//出生地
   char Birthday[20];//出生日期
   char Deadthday[20];//死亡日期
   char Sex[7];//性别
   double Height;//身高
   char Credentials[20];//学历
   char Career[20];//职业
};

class Queue
{
public:
    Queue*front,*rear,*next;
	int length ;
	memberData *node;
	Queue(int x=0)
	{
		length=x;
	}
    void IniQueue();
    void EnQueue(Queue&Q,memberData *);
    void DeQueue( Queue& );
	void DestroyQueue(Queue&);
    void deleteInformation(Queue&,Queue&,int&,int&);
};

memberTree* createTree(List* &head,memberTree* &root);
memberTree* PreOrdermemberTree(Stack &S,memberTree *root,int n);
Stack InitStack();
void Push(Stack &S,memberTree *T);
memberTree* Pop(Stack &S);
void InOrderprintTree(memberTree *root);
void PreOrderprintTree(memberTree *root);
void addmember(List* &head,memberTree * &root,int n);
void LastOrdermemberTree(memberTree *& h,Queue &Q,List* &head);
void deletemember(List* &head,memberTree * &root,Queue &Q);
memberTree* findmember(memberTree * root,int n);
void readInformation(Queue &Q);
void getInformation(Queue &Q);
void deleteInformation(Queue &Q,List* &head,int n);
void foundInformation(Queue Q,memberTree * root);
void addInformation(Queue &Q,List* &head,memberTree * &root);
void updateInformation(Queue &Q);
void writeInformation(Queue &Q);
void findInformation(Queue Q,memberTree * root);
void Information(Queue Q,memberTree *root);
void relation(Queue Q,memberTree * root);
void findNumber(Queue Q,memberTree * root);
void findName(Queue Q,memberTree * root);
void findBirthday(Queue Q,memberTree * root);
void findDeathday(Queue Q,memberTree * root);
void aveheight(Queue Q);
void mwproportion(Queue Q);
int totalnum(memberTree * root);
void statistic(Queue Q);
void RootLeave(memberTree* root,memberTree *q);
void printRootLeave(memberTree* root);
void Rootleave(memberTree* &root,memberTree *q,ofstream outfile);
void writeRootLeave(memberTree* &root);

⌨️ 快捷键说明

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