FOR 循环中有个IF,其中IF中的BREAK,还会执行IF下面的语句?
for(j=1;j<=i-1;j++)if(!ht[j].parent)/*ht[j].parent初始化都为0*/break;s1=j;//找到第一个双亲为零的结点fo...
for(j=1;j<=i-1;j++)
if(!ht[j].parent) /*ht[j].parent初始化都为0*/
break;
s1=j; //找到第一个双亲为零的结点
for(;j<=i-1;j++)
if(!ht[j].parent)
s1=ht[s1].weight>ht[j].weight?j:s1;
ht[s1].parent=i;
ht[i].LChild=s1;
for(j=1;j<=i-1;j++)
if(!ht[j].parent)
break;
s2=j; //找到第二个双亲为零的结点
for(;j<=i-1;j++)
if(!ht[j].parent)
s2=ht[s2].weight>ht[j].weight?j:s2;
ht[s2].parent=i;
ht[i].RChild=s2;
ht[i].weight=ht[s1].weight+ht[s2].weight;//权值累加
若执行了第三行的BREAK后是否执行第四条语句,还是执行第一行的FOR中J++后FOR循环 展开
if(!ht[j].parent) /*ht[j].parent初始化都为0*/
break;
s1=j; //找到第一个双亲为零的结点
for(;j<=i-1;j++)
if(!ht[j].parent)
s1=ht[s1].weight>ht[j].weight?j:s1;
ht[s1].parent=i;
ht[i].LChild=s1;
for(j=1;j<=i-1;j++)
if(!ht[j].parent)
break;
s2=j; //找到第二个双亲为零的结点
for(;j<=i-1;j++)
if(!ht[j].parent)
s2=ht[s2].weight>ht[j].weight?j:s2;
ht[s2].parent=i;
ht[i].RChild=s2;
ht[i].weight=ht[s1].weight+ht[s2].weight;//权值累加
若执行了第三行的BREAK后是否执行第四条语句,还是执行第一行的FOR中J++后FOR循环 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询