Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Come scrivere un indice di funzione ricorsiva di Max

funzioni ricorsive prendere un set di dati , di solito una lista o un albero , e di eseguire la stessa operazione su ogni elemento fino a quando un compito è completato . Lo fanno attraverso la tecnica della ricorsione , o l'esecuzione di una funzione che chiama se stessa come parte della sua esecuzione . Ricorsione permette ai programmatori di scrivere un unico set di comandi per lavorare su una serie di elementi di dati identici. Ricorsione può essere utilizzato per una varietà di compiti utili, come ricerca di un elenco di elementi per individuare il valore più alto . Cose che ti serviranno
compilatore C + +
Text Editor
Mostra più istruzioni
1

creare un programma che definisce una variabile di dimensione costante per la ricorsione , e definisce un prototipo di una funzione FindMax :

# include ;

const int SIZE = 10;

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

int main ( ) { }


2

definire la funzione FindMax dopo la funzione principale per cercare un array in modo ricorsivo per il valore massimo . Questi passaggi di funzione attraverso l'array , confronta i valori , e, infine, restituisce l'indice del più alto numero intero :

int main ( ) { }


int FindMax ( int lista [ ,"] , int current_index , int high_index ) { }


3

un caso base ricorsiva nella funzione FindMax . Questa affermazione si ferma la ricorsione , una volta raggiunta la fine della lista :

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

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


4

definire l'azione ricerca ricorsiva nella funzione FindMax . Le istruzioni if-else saranno sempre sostenere che high_index contiene il valore di indice del più alto numero intero nella lista:

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

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

else if ( lista [ high_index ] < lista [ current_index ] ) {return FindMax ( lista , (indice + 1 ) , current_index ) ; } else {return FindMax ( lista , (indice + 1 ) , high_index );} }
5

Definire un array con un mix casuale di numeri interi all'interno della funzione principale :

int main ( ) {

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

dichiarare un numero intero funzione principale , e chiamare la funzione FindMax per impostare il valore di numero intero che l'indice del più grande valore nella lista :

# include ;

const int SIZE = 10;

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

int main ( ) {

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

int maggiore = FindMax ( arr , 0 , 0 ) ; }


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

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

else if ( lista [ high_index ] < lista [ current_index ] ) {return FindMax ( lista , (indice + 1 ) , current_index ) ; } else {return FindMax ( lista , (indice + 1 ) , high_index );} }

 

Programmazione © www.354353.com