int findLargest (ListNode *p)
// --------------------------------------------------------------------------
// Preconditions: list head pointer is passed as a parameter.
// Postconditions: returns the largest value in the linked list.
// --------------------------------------------------------------------------
{
if (p->item != NULL)
{
int largest = p->item;
if (largest > p->next->item)
...
}
...
}
Est-il possible d'écrire cette fonction récursive en ne passant qu'un pointeur en paramètre? Je ne peux pas comprendre comment faire ceci sans ajouter plus de paramètres. Des idées? Je n'utilise que la recherche séquentielle. Rien d'extraordinaire.Comment puis-je trouver récursivement le plus gros élément d'une liste chaînée avec le nœud principal?
Voici la partie de la liste des classes qui seront nécessaires:
struct ListNode
{
ListItemType item; // A data item on the list.
ListNode *next; // Pointer to next node
}; // end ListNode
ListNode *head; // Pointer to linked list of items.
Je suis surtout inquiet de la faisabilité du problème. Cela peut-il être fait avec seulement un pointeur comme paramètre?
s'il vous plaît montrer la définition de la liste ... –