C Rekursjon (rekursiv funksjon)

Innholdsfortegnelse

I denne opplæringen lærer du å skrive rekursive funksjoner i C-programmering ved hjelp av et eksempel.

En funksjon som kaller seg selv er kjent som en rekursiv funksjon. Og denne teknikken er kjent som rekursjon.

Hvordan fungerer rekursjon?

 ugyldig recurse () (… recurse ();…) int main () (… recurse ();…)

Rekursjonen fortsetter til noen vilkår er oppfylt for å forhindre det.

For å forhindre uendelig rekursjon, hvis … annet uttalelse (eller lignende tilnærming) kan brukes der en gren gjør det rekursive anropet, og andre ikke gjør det.

Eksempel: Summen av naturlige tall ved bruk av rekursjon

 #include int sum(int n); int main() ( int number, result; printf("Enter a positive integer: "); scanf("%d", &number); result = sum(number); printf("sum = %d", result); return 0; ) int sum(int n) ( if (n != 0) // sum() function calls itself return n + sum(n-1); else return n; ) 

Produksjon

 Skriv inn et positivt heltall: 3 sum = 6

Opprinnelig sum()kalles det fra main()funksjonen med nummer som er sendt som et argument.

Anta at verdien til n inne sum()er 3 i utgangspunktet. Under neste funksjonsanrop overføres 2 til sum()funksjonen. Denne prosessen fortsetter til n er lik 0.

Når n er lik 0, ifmislykkes tilstanden, og elsedelen blir utført, og returnerer summen av heltall til slutt til main()funksjonen.

Fordeler og ulemper ved rekursjon

Rekursjon gjør programmet elegant. Imidlertid, hvis ytelse er viktig, bruk løkker i stedet for rekursjon er vanligvis mye tregere.

Når det er sagt, er rekursjon et viktig konsept. Det brukes ofte i datastruktur og algoritmer. For eksempel er det vanlig å bruke rekursjon i problemer som treovergang.

Interessante artikler...