数据结构期末考试,第四题和第八题,急,在线等。 200
题目1:使用递归求解数组的最大值。题目2:编写一个程序,构建一颗简单的二叉树,实现二叉树的层次遍历。...
题目1:使用递归求解数组的最大值。
题目2:编写一个程序,构建一颗简单的二叉树,实现二叉树的层次遍历。 展开
题目2:编写一个程序,构建一颗简单的二叉树,实现二叉树的层次遍历。 展开
展开全部
题目一: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<<p->data<<' ';
if(p->lchild){ //左孩子不为空,入队
Q[rear]=p->lchild;
rear=(rear+1)%MaxLength;
}
if(p->rchild){ //右孩子不为空,入队
Q[rear]=p->rchild;
rear=(rear+1)%MaxLength;
}
}
{
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<<p->data<<' ';
if(p->lchild){ //左孩子不为空,入队
Q[rear]=p->lchild;
rear=(rear+1)%MaxLength;
}
if(p->rchild){ //右孩子不为空,入队
Q[rear]=p->rchild;
rear=(rear+1)%MaxLength;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询