


Programme récursif pour trouver les éléments minimum et maximum d'un tableau en C++
Nous prenons le tableau d'entiers Arr[] comme entrée. Le but est de trouver les éléments les plus grands et les plus petits d’un tableau en utilisant une méthode récursive.
Puisque nous utilisons la récursion, nous allons parcourir l'ensemble du tableau jusqu'à ce que nous atteignions length=1, puis retourner A[0], qui constitue le cas de base. Sinon, l'élément actuel est comparé à la valeur minimale ou maximale actuelle et sa valeur est mise à jour de manière récursive pour les éléments suivants.
Regardons différents scénarios d'entrée et de sortie pour cela −
Input − Arr= {12,67,99,76,32};
Output − Valeur maximale dans le tableau : 99
Explication − Parmi tous les éléments, 99 est la plus grande valeur parmi eux.
Input − Arr= {1,0,-99,9,3};
Output − Valeur minimale dans le tableau : -99
Explication − Parmi tous les éléments, -99 est l'endroit où le valeur minimale.
La méthode utilisée dans le programme ci-dessous est la suivante
Trouver la valeur minimale
Le tableau Arr[] est utilisé comme entrée.
La fonction recforMin(int arr[], int len) accepte un tableau d'entrée et sa longueur et renvoie la valeur minimale du tableau en utilisant la récursion.
Obtenez la variable entière minimum
Si l'index actuel len est 1, définissez minimum=arr[0] et renvoyez le minimum.
Sinon, définissez minimum = arr[len] ou la valeur minimale de recforMin(arr,len-1) et renvoyez-la.
Enfin le plus petit élément sera restitué.
Imprimez le résultat dans la fonction principale.
Trouver la valeur maximale
prend le tableau Arr[] en entrée.
La fonction recforMax(int arr[], int len) accepte un tableau d'entrée et sa longueur et renvoie la valeur maximale dans le tableau en utilisant la récursion.
Prenez le maximum de variable entière.
Si l'index actuel len est 1, définissez maximum=arr[0] et renvoyez maximum.
Sinon, définissez maximum = arr[len] ou la valeur maximale de recforMax(arr,len-1) et renvoyez-la.
Le plus gros élément sera restitué à la fin.
Imprimez le résultat dans la fonction principale.
Trouver la valeur minimale en utilisant la récursion
Exemple
#include <iostream> using namespace std; int recforMin(int arr[], int len){ int minimum; if (len == 1){ minimum=arr[0]; return minimum; } else{ return minimum=arr[len]<recforMin(arr,len-1)?arr[len]:recforMin(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Minimum in the array :"<<recforMin(Arr, length); return 0; }
Sortie
Si nous exécutons le code ci-dessus, la sortie suivante sera générée
Minimum in the array :-89
Trouver la valeur minimale en utilisant la récursion
Exemple
#include <iostream> using namespace std; int recforMax(int arr[], int len){ int maximum; if (len == 1){ maximum=arr[0]; return maximum; } else{ return maximum=arr[len]>recforMax(arr,len-1)?arr[len]:recforMax(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Maximum in the array :"<<recforMax(Arr, length); return 0; }
Sortie
Si nous exécutez le code ci-dessus, générera la sortie suivante
Maximum in the array :-100
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La comparaison des performances des méthodes de retournement des valeurs de clé de tableau PHP montre que la fonction array_flip() fonctionne mieux que la boucle for dans les grands tableaux (plus d'un million d'éléments) et prend moins de temps. La méthode de la boucle for consistant à retourner manuellement les valeurs clés prend un temps relativement long.

La récursion est une technique puissante qui permet à une fonction de s'appeler elle-même pour résoudre un problème. En C++, une fonction récursive se compose de deux éléments clés : le cas de base (qui détermine le moment où la récursion s'arrête) et l'appel récursif (qui divise le problème en sous-problèmes plus petits). En comprenant les bases et en pratiquant des exemples pratiques tels que les calculs factoriels, les séquences de Fibonacci et les parcours d'arbres binaires, vous pouvez construire votre intuition récursive et l'utiliser dans votre code en toute confiance.

La récursivité est une technique dans laquelle une fonction s'appelle elle-même, mais présente les inconvénients d'un débordement de pile et d'une inefficacité. Les alternatives incluent : l'optimisation de la récursion finale, où le compilateur optimise les appels récursifs dans les boucles ; l'itération, qui utilise des boucles au lieu de la récursion et des coroutines, qui permettent de suspendre et de reprendre l'exécution, simulant un comportement récursif.

Définition et optimisation récursive : Récursif : Une fonction s'appelle en interne pour résoudre des problèmes difficiles qui peuvent être décomposés en sous-problèmes plus petits. Récursion de queue : la fonction effectue tous les calculs avant d'effectuer un appel récursif, qui peut être optimisé en boucle. Condition d'optimisation de la récursion de queue : l'appel récursif est la dernière opération. Les paramètres d'appel récursif sont les mêmes que les paramètres d'appel d'origine. Exemple pratique : Calculer factoriel : La fonction auxiliaire factorial_helper implémente l'optimisation de la récursion de queue, élimine la pile d'appels et améliore l'efficacité. Calculer les nombres de Fibonacci : la fonction récursive de queue fibonacci_helper utilise l'optimisation pour calculer efficacement les nombres de Fibonacci.

La fonction array_group_by de PHP peut regrouper des éléments dans un tableau en fonction de clés ou de fonctions de fermeture, renvoyant un tableau associatif où la clé est le nom du groupe et la valeur est un tableau d'éléments appartenant au groupe.

La fonction array_group() de PHP peut être utilisée pour regrouper un tableau par une clé spécifiée afin de rechercher les éléments en double. Cette fonction fonctionne selon les étapes suivantes : Utilisez key_callback pour spécifier la clé de regroupement. Utilisez éventuellement value_callback pour déterminer les valeurs de regroupement. Comptez les éléments regroupés et identifiez les doublons. Par conséquent, la fonction array_group() est très utile pour rechercher et traiter des éléments en double.

Les techniques suivantes sont disponibles pour déboguer les fonctions récursives : Vérifier la trace de la pileDéfinir les points de débogageVérifier si le cas de base est correctement implémentéCompter le nombre d'appels récursifsVisualiser la pile récursive

Oui, dans de nombreux langages de programmation, les tableaux peuvent être utilisés comme paramètres de fonction, et la fonction effectuera des opérations sur les données qui y sont stockées. Par exemple, la fonction printArray en C++ peut imprimer les éléments d'un tableau, tandis que la fonction printArray en Python peut parcourir le tableau et imprimer ses éléments. Les modifications apportées au tableau par ces fonctions sont également reflétées dans le tableau d'origine dans la fonction appelante.
