Bifalgorithm post · Computer science one · Function Pointers
How are generic getMax() functions used with integers and structures?
How are generic getMax() functions used with integers and structures? (Computer science one · Function Pointers) — "Suppose we have an array of integers and th…
Ideas in this flowchart
- La fonction getMax() sélectionne l’élément « maximum » selon un comparateur.
- getMax() retourne normalement l’indice de l’élément maximum.
- Avec le tableau {8, 2, 9, 10, 4, 2, 2, 5, 6, 7}, getMax() reçoit la taille et la taille d’un entier.
- Avec cmpInt(), la fonction retourne l’indice 3 et la valeur maximale affichée est 10.
- Avec cmpIntDesc(), l’élément « maximum » devient le plus petit élément, soit 2.
- La notion de « maximum » dépend de l’ordre défini par le comparateur.
- Pour un tableau de Student, studentByNameCmp() classe les étudiants selon l’ordre lexicographique du nom.
- Avec studentByNameCmp(), un étudiant nommé « Zadora » est considéré comme plus grand qu’un étudiant nommé « Anderson ».
- Avec studentGpaCmp(), getMax() retourne l’étudiant ayant le GPA le plus faible, car le comparateur ordonne les GPA du plus élevé au plus faible.
- Une variante retourne un pointeur vers l’élément maximum au lieu de retourner son indice.
- La variante parcourt les éléments, met à jour maxIndex, puis retourne l’adresse de l’élément maximum.
- Le tableau est converti en void * dans le retour final afin de rendre le type compatible et d’éviter les avertissements.