数据结构算法,C或者C++, 设计一个算法,查找带头节点的非空单链表L中第一个最大节点(最大节点可能有多个),并返回该节点的逻辑序号。

数据结构算法,C或者C++, 设计一个算法,查找带头节点的非空单链表L中第一个最大节点(最大节点可能有多个),并返回该节点的逻辑序号。

问题描述:

用C或者C++
设计一个算法,查找带头节点的非空单链表L中第一个最大节点(最大节点可能有多个),并返回该节点的逻辑序号。

问题解决的话,请点下采纳

struct Node
{
Node * next;
int * data;
};
struct List
{
Node * head;
};
int max(List * L)
{
Node * p = L->head;
if (!p) return -1;
int n = 0;
int ma = p->data;
int mai = 0;
while (p->next)
{
p = p->next;
n++;
if (ma < p->data) { ma = p->data; mai = n; }
}
return mai;
}