C ++ rekursija (ar piemēru)

Šajā apmācībā mēs uzzināsim par rekursīvo funkciju C ++ un tās darbību ar piemēru palīdzību.

Funkcija, kas pati sevi sauc, ir pazīstama kā rekursīva funkcija. Šī metode ir pazīstama kā rekursija.

Rekursijas darbība C ++

 void recurse() (… recurse();… ) int main() (… recurse();… )

Zemāk redzamais attēls parāda, kā darbojas rekursija, atkal un atkal sevi saucot.

Kā rekursija darbojas C ++ programmēšanā

Rekursija turpinās, līdz tiek izpildīti kādi nosacījumi.

Lai novērstu bezgalīgu rekursiju, ja… citādi var izmantot paziņojumu (vai līdzīgu pieeju), kur viena filiāle veic rekursīvu zvanu, bet otra nedara.

1. piemērs: Skaitļa faktori, izmantojot rekursiju

 // Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )

Rezultāts

 Ievadiet skaitli, kas nav negatīvs: 4 koeficients 4 = 24

Factorial programmas darbība

Kā darbojas šī C ++ rekursijas programma

Kā redzam, factorial()funkcija pati sevi sauc. Tomēr katra zvana laikā mēs esam samazinājuši n vērtību par 1. Ja n ir mazāks nekā 1, factorial()funkcija galu galā atgriež rezultātu.

Rekursijas priekšrocības un trūkumi

Zemāk ir plusi un mīnusi, izmantojot rekursiju C ++.

C ++ rekursijas priekšrocības

  • Tas padara mūsu kodu īsāku un tīrāku.
  • Rekursija ir nepieciešama saistībā ar problēmām, kas saistītas ar datu struktūrām un uzlabotiem algoritmiem, piemēram, grafiku un koku šķērsošanu.

C ++ rekursijas trūkumi

  • Tas aizņem daudz vietas kaudzē, salīdzinot ar iteratīvu programmu.
  • Tas izmanto vairāk procesora laika.
  • Atkļūdot var būt grūtāk, salīdzinot ar līdzvērtīgu iteratīvu programmu.

Interesanti raksti...