PTA实验
函数题
3.层序遍历一个二叉树
这道题我出现的问题就是不知道怎么依次遍历到下一个结点。
开先我写的队列是elementype的类型,只包含了那一个数据,但这样不知道怎么让BT按层序遍历的顺序指向不同的结点,所以将队列的元素修改为结构体类型指针
void LevelorderTraversal(BinTree BT)
{
BinTree stk[1000],temp; int pre, rear;
pre = rear = 0;
if(BT!=NULL)
{
stk[rear++] = BT;
while (pre != rear)
{
temp = stk[pre++];
printf(" %c", temp->Data);
if (temp->Left != NULL)
stk[rear++] = temp->Left;
if (temp->Right != NULL)
stk[rear++] = temp->Right;
}
}
}
编程题
1.二分查找
这道题感觉知道解决方法之后就不难了,采用了在线处理的思想,用sum去记录目前出现的最大子序列和,如果一旦sum<0了,就让sum=0,用max去更新最大子序列和