一、算法设计题
1.
设二叉树
bt
采用二叉链表结构存储。试设计一个算法输出二叉树中所有非叶子结点,并求出非叶子结点的
个数。
【答案】
int
count=0;
void algo2(BTNode *bt){
if (bt){
if(bt->lchild || bt->rchild){
printf(bt->data);
count++
;
}
algo2(bt->lchild);
algo2(bt->rchild);
}
}
2.
阅读下列函数
arrange()
int arrange(int a[],int 1,int h,int x)
{//1
和
h
分别为数据区的下界和上界
int i,j,t
;
i=1
;
j=h
;
while(i
while(i=x)j--
;
while(i=x)i++
;
if(i
{
t=a[j]
;
a[j]=a[i]
;
a[i]=t
&