早教吧作业答案频道 -->数学-->
写出下列算法的功能.StatusPreOrderTraverse(BiTreeT,Status(*Visit)(TelemType(e))){InitStack(S);Push(S,T);\x05While(!StackEmpty(Q))\x05{Pop(S,p);if(Visit(p->data))returnERROR;\x05if(p->rchild)Push(S,p->rchild);\x05if(p->lchild)Pu
题目详情
写出下列算法的功能.
Status PreOrderTraverse (BiTree T,Status (* Visit)(TelemType(e)))
{ InitStack(S);Push(S,T);
\x05While(!StackEmpty(Q))
\x05 {Pop(S,p);if(Visit(p->data)) return ERROR;
\x05 if(p->rchild) Push(S,p->rchild);
\x05 if(p->lchild) Push(S,p->lchild);
\x05 }
return OK;
Status PreOrderTraverse (BiTree T,Status (* Visit)(TelemType(e)))
{ InitStack(S);Push(S,T);
\x05While(!StackEmpty(Q))
\x05 {Pop(S,p);if(Visit(p->data)) return ERROR;
\x05 if(p->rchild) Push(S,p->rchild);
\x05 if(p->lchild) Push(S,p->lchild);
\x05 }
return OK;
▼优质解答
答案和解析
ListOp_N(LinkList list){//本算法功能是找出正整数单链表list中的最小值结点;
//并在此结点数值是奇数时,把它与其后继结点交换
//在此结点数值是偶数时,把其直接后继结点删除
q=list;
p=q;
while !q { //第一部分:找出最小值结点p,并打印p结点数值
if p->data>q->data p=q;
q=q->next;}//while
printf("%d",p->data);
if odd(p->data){ //第二部分:如果是奇数则交换,odd()是判奇函数
if !(p->next) {q=list; //重新确定p的位置及其前驱q
while ( q->next!=p ) q=q->next;
r=p->next; //引入临时变量r,用于保存p的后继q->next=r; //修改p的前驱p->next=r->next; //修改p的后继r->next=p; //修改r的后继
}//if
}
else{ //第三部分:如果是偶函数,则删除后继结点
if !(p->next) { r=p->next;
p->next=r->next; //改变p的后继指针
free(r); //删除p的原后继结点}//if
}//if
}// ListOp_N
//并在此结点数值是奇数时,把它与其后继结点交换
//在此结点数值是偶数时,把其直接后继结点删除
q=list;
p=q;
while !q { //第一部分:找出最小值结点p,并打印p结点数值
if p->data>q->data p=q;
q=q->next;}//while
printf("%d",p->data);
if odd(p->data){ //第二部分:如果是奇数则交换,odd()是判奇函数
if !(p->next) {q=list; //重新确定p的位置及其前驱q
while ( q->next!=p ) q=q->next;
r=p->next; //引入临时变量r,用于保存p的后继q->next=r; //修改p的前驱p->next=r->next; //修改p的后继r->next=p; //修改r的后继
}//if
}
else{ //第三部分:如果是偶函数,则删除后继结点
if !(p->next) { r=p->next;
p->next=r->next; //改变p的后继指针
free(r); //删除p的原后继结点}//if
}//if
}// ListOp_N
看了 写出下列算法的功能.Stat...的网友还看了以下:
比较a与b的大小#include<stdio.h>int main(){\x05int a,b,m 2020-05-15 …
写出下列算法的功能.StatusPreOrderTraverse(BiTreeT,Status(* 2020-05-17 …
在关系S(S,SN,D)和D(D,CN,NM)中,S的主键是S,D的主键是D,则D在S中称为【】。 2020-05-23 …
Java中判断任意两个圆的位置关系publicvoidCompare(Circlec1,Circl 2020-06-09 …
英语翻译P17\x05(c)removeanddestroyalldistinctivesigna 2020-06-27 …
直角三角形的面积是S,斜边上的中线为d,则这个三角形的周长为多少?A根号下(d的平方+S)+2dB 2020-07-09 …
multiplydefinedsymbolsfound#includemain(){doublea 2020-07-23 …
帮我解这些方程啊.一个过程就行.1.4x+y-z=123x+2y+z=-5x-y+5z=12.2a+ 2020-10-31 …
redefinition;differentbasictypes以下程序在Vc6.0编译时出了问题# 2020-11-23 …
在酵母菌的培养中,如果不更换培养液,其种群数量的增长模式为A.直线\x05\x05\x05\x05\ 2021-01-07 …