数据结构第二次单元测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0980 输出利用先序遍历创建的二叉树的层次遍历序列(中)#include

#include

using namespace std;

typedef struct node

{

char data;

node *leftchild;

node *rightchild;

}Node;

void Init(Node *&L)

{

L = (Node *)malloc(sizeof(Node));

}

void PreCreate(Node *&L)

{

char ch;

cin>>ch;

if(ch != '#')

{

Init(L);

L->data = ch;

L->leftchild = NULL;

L->rightchild = NULL;

PreCreate(L->leftchild);

PreCreate(L->rightchild);

}

else

{

L = NULL;

}

}

void levelT(Node *L)

{

Node *p;

Node *q[100];

int fornt, rear;

fornt = -1;

rear = -1;

if(L != NULL)

{

rear = (rear+1)%100;

q[rear] = L;

while(fornt != rear)

{

fornt = (fornt+1)%100;

p = q[fornt];

cout<data;

if(p->leftchild != NULL)

{

rear = (rear+1)%100;

q[rear] = p->leftchild;

}

if(p->rightchild != NULL)

{

rear = (rear+1)%100;

q[rear] = p->rightchild;

}

}

}

}

int main()

{

Node *p;

PreCreate(p);

levelT(p);

return 0;

}

0981统计利用二叉树存储的森林中树的棵树(易)#include

#include

using namespace std;

typedef struct node

{

char data;

node *leftchild;

node *rightchild;

}Node;

void InitTree(Node *&L)

{

L = (Node *)malloc(sizeof(Node));

}

void preCreate(Node *&L)

{

InitTree(L);

char ch;

cin>>ch;

if(ch != '#')

{

L->data = ch;

L->leftchild = NULL;

L->rightchild = NULL;

preCreate(L->leftchild);

preCreate(L->rightchild);

}

else

L = NULL;

}

int Ftree(Node *&L)

{

if(L == NULL)

{

return 0;

}

else if(L->rightchild == NULL)

{

return 1;

}

else

{

return Ftree(L->rightchild)+1;

}

}

int main()

{

Node *p;

preCreate(p);

cout<

return 0;

}

0982 输出利用二叉树存储的普通树的度(中)#include

#include

using namespace std;

typedef struct node

{

char data;

node *leftchild;

node *rightchild;

}Node;

void Init(Node *&L)

{

L = (Node *)malloc(sizeof(Node));

}

void preCreate(Node *&L)

{

char ch;

cin>>ch;

if(ch != '#')

{

Init(L);

L->data = ch;

L->leftchild = NULL;

L->rightchild = NULL;

preCreate(L->leftchild);

preCreate(L->rightchild);

}

else

{

L = NULL;

}

}

int findG(Node *&L)

{

int max = 0, a, b;

if(L == NULL)

{

return max;

}

相关文档
最新文档