Visualizzazione dei risultati da 1 a 4 su 4

Discussione: algoritmo ricorsivo!

  1. #1

    algoritmo ricorsivo!

    avevo gia chiesto un aiuto ma mi è stato detto di provare da sola.

    dovrei scrivere un algoritmo ricorsivo di ricerca di un elemento all'interno di un array.

    ci ho provato ma proprio non riesco senza usare il ciclo for.

    public class Ricorsione {
    private int[]a;

    public Ricorsione(int []array){
    a=array;
    }

    public int search (int v){
    int i=0;
    if( i>a.length)

    return 0;
    else
    if(a[i]==v)

    return 1;

    }
    }

    non so proprio come fare.

  2. #2
    Ciao cavolinauff,
    un modo per fare ciò che vuoi tu è questo
    codice:
    	public boolean ricorsione(int[] array, int value, int index)
    	{
    		if (index < array.length)
    		{
    			if (array[index] == value)
    			{
    				return true;
    			}
    			else
    			{
    				return ricorsione(array, value, ++index);
    			}
    		}
    		return false;
    	}
    
    	public static void main(String[] args)
    	{
    		int[] array = new int[]
    		{ 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    		boolean found = new TestBean().ricorsione(array, 0, 0);
    		System.out.println("FOUND " + found);
    	}

  3. #3
    ti ringrazio infinitamente. anzi ricorsivamente.

    grazie grazie grazie!

    e se volessi stampare invece gli elementi dell'array? va bene così?

    public boolean ricorsione(int[] array, int index)
    {
    if (index < array.length)
    (
    system.out.println(a[i]);
    return ricorsione(array , ++index);
    )

    }

  4. #4
    Originariamente inviato da cavolinauff
    public boolean ricorsione(int[] array, int index)
    {
    if (index < array.length)
    (
    system.out.println(a[i]);
    return ricorsione(array , ++index);
    )

    }
    Ci sono troppe cose che non sono corrette:
    - non è necessario che il metodo restituisca un boolean;
    - le istruzioni contenute nell'if vanno incluse in parentesi graffe e non tonde;
    - system va scritto con la S;
    - a[i] da dove esce fuori? L'array in questione è array, mentre l'indice adottato è index.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.