求北邮 数据结构期末考试试题

2025-02-26 16:29:25
推荐回答(1个)
回答1:

题目一:int max(int array[ ],int n)
{
if (n<=1)
return(array[0]); // 就一个数,最大值就是自已
int t=max(array+1,n-1); // 求后面 n-1个数的最大值
if (t>array[0]) // t 比第一个大,返回最大 t
return(t);
else
return(array[0]); // t小,返回array[0];
}
题目二:

void LevelOrderTraverse(BiTree T){//层序遍历

BiTree Q[MaxLength];
int front=0,rear=0;
BiTree p;
if(T){ //根结点入队
Q[rear]=T;
rear=(rear+1)%MaxLength;
}
while(front!=rear){
p=Q[front]; //队头元素出队
front=(front+1)%MaxLength;
cout<data<<' ';
if(p->lchild){ //左孩子不为空,入队
Q[rear]=p->lchild;
rear=(rear+1)%MaxLength;
}
if(p->rchild){ //右孩子不为空,入队
Q[rear]=p->rchild;
rear=(rear+1)%MaxLength;
}
}