我想使用递归找到链表中的max元素,但我的代码不起作用。我无法将第一个元素添加到链接列表中进行比较。
这是我的代码:
void findmax(list L,int &m)
{
if(L!=NULL)
{
if(L->next!=NULL)
if(L->Data<L->next->Data)
m=(m>L->next->Data)?m:L->next->Data;
else
m=(m>L->Data)?m:L->Data;
else m=L->Data;
findmax(L->next,m);
}
else
return;
}
答案 0 :(得分:-1)
算法:
1> START //AFTER CREATING THE LINK LIST
2> MAX= START->DATA
3> TEMP=START //TEMPORARY NODE
4> START=NODE
5> THE CONTROL CHECKS WHETHER TEMP.DATA>MAX IF YES IT ASSIGNS TEMP.DATA TO MAX 6> OTHERWISE GOTO STEP 7 TO ITERATE
7> TEMP=TEMP.LINK //TRAVERSING THE LIST
8> WHILE(TEMP.LINK!=NULL)
9> TEMP=NULL
10> END