Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako napísať rekurzívne funkcie index Max

Rekurzívny funkcie sa súbor dát , zvyčajne zoznam alebo strom , a vykonať rovnakú operáciu na každý prvok , kým úloha je splnená . Robia to pomocou techniky rekurzia , alebo spustenie funkcie, ktorá volá sama seba ako súčasť jeho vykonanie . Rekurzia umožňuje programátorom písať jednu sadu príkazov pre prácu na sériu rovnakých dátových položiek . Rekurzia je možné použiť pre celý rad užitočných úloh , ako je vyhľadávanie zoznam položiek , ktoré nájsť najvyššiu hodnotu . Veci , ktoré budete potrebovať klipart C + + kompilátor
Textový editor
Zobraziť viac Inštrukcie Cestuj 1

Vytvorte program , ktorý definuje premennú konštantnú veľkosť pre rekurzia , a definuje prototyp funkcie FindMax :

# include using namespace std ;

const int SIZE = 10 ;

int FindMax ( int list [ ] , int current_index , int highest_index ) ;

int main ( ) {

}
2

Definujte funkciu FindMax po hlavnej funkcie hľadať pole rekurzívne pre maximálne hodnoty . Táto funkcia krokov cez pole , porovnáva hodnoty , a konečne vráti index najvyššie celé číslo :

int main ( ) {

}

int FindMax ( int list [ ,"] , int current_index , int high_index ) {

}
3

Nastaviť rekurzívne základnú vec vo funkcii FindMax . Toto vyhlásenie sa zastaví rekurzia , akonáhle je dosiahnutý koniec zoznamu :

int FindMax ( int list [ ] , int current_index , int high_index ) {

if ( current_index == SIZE ) { return high_index ; }

}
4

Definujte rekurzívne vyhľadávacie činnosť vo funkcii FindMax . If - else budú vždy tvrdiť , že high_index má hodnotu indexu najvyššie celé číslo v zozname :

int FindMax ( int list [ ] , int current_index , int high_index ) {

( current_index == SIZE ) { return high_index ; }

else if ( list [ high_index ] < zoznam [ current_index ] ) { return FindMax ( zoznam ( index + 1 ) , current_index ) ; } else { return FindMax ( zoznam ( index + 1 ) , high_index ) ; } }
5

Definujte pole s náhodnom mixe čísel vnútri hlavné funkcie :

int main ( ) {

int arr [ 10 ] = { 3 , 2 , 6 , 7 , 10 , 45 , 8 , 99 , 0 , 11 } ; }
6

deklarovať číslo v hlavné funkcie a volania funkcie FindMax nastaviť hodnotu tohto číslo na indexe najväčšie hodnoty v zozname : Spojené

# include using namespace std ;

const int SIZE = 10 ;

int FindMax ( int list [ ] , int current_index , int highest_index ) ;

int main ( ) { int

arr [ 10 ] = { 3 , 2 , 6 , 7 , 10 , 45 , 8 , 99 , 0 , 11 } , celým

int = najväčšie FindMax ( arr , 0 , 0 ) ; celým

} celým

int FindMax ( int list [ ] , int current_index , int high_index ) {

if ( current_index == SIZE ) { return high_index ; }

else if ( list [ high_index ] < Zoznam [ current_index ] ) { return FindMax ( zoznam , ( index + 1 ) , current_index ) ; } else { return FindMax ( zoznam ( index + 1 ) , high_index ) ; } }

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené