Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Dec 2000
    Messaggi
    147

    [JAVA] non modificare il parametro passato

    Devo utilizzare la struttura dati Queue(CODA) che ha i seguenti metodi:

    codice:
    Restituisce il numero degli elementi  nella coda 
      public int size();
    Restituisce true se la coda è vuota, false altrimenti 
      public boolean isEmpty();
    Restituisce l'elemento al front della coda. 
      public Object front() throws EmptyQueueException;
    Inserisce un elemento di tipo Object alla fine (rear) della coda 
      public void enqueue(Object o);
    Rimuove, restituendolo, il primo elemento della coda (front) 
      public Object dequeue() throws EmptyQueueException;
    devo scrivere una funziona che prende una coda e ritorna soltanto gli elementi in posizione dispari senza però modificare la coda passata. Come devo fare?? Queue copyOdd(Queue q)

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Devi creare un oggetto di tipo Queue all'interno del metodo, popolarlo a dovere e infine restituirlo.
    La coda passata come parametro la devi solo leggere per costruire la seconda...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente bannato
    Registrato dal
    Dec 2000
    Messaggi
    147
    Originariamente inviato da LeleFT
    Devi creare un oggetto di tipo Queue all'interno del metodo, popolarlo a dovere e infine restituirlo.
    La coda passata come parametro la devi solo leggere per costruire la seconda...


    Ciao.
    si!! ma io non ho un metodo che mi permette di leggere tutti glie elementi della coda passata se non con Deque che però me li elimina qindi?? inoltre front mi ritorna soltanto la testa e nemmeno potrei utilizzarlo!!! come posso fare??

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Una soluzione potrebbe essere questa:
    All'interno del metodo copyOdd()

    1) Crei 2 oggetti Queue: q1 e q2
    2) Estrai un elemento dall'oggetto passato e lo inserisci in q1
    3) Se l'elemento estratto precedentemente è un elemento in posizione dispari lo inserisci anche in q2
    4) Ripeti i passi 2 e 3 fino allo svuotamento completo della coda passata come parametro
    5) Ora riempi novamente la coda passata come parametro, utilizzando gli elementi in q1 (che rappresenta una copia dell'originale)
    6) Restituisci q2.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente bannato
    Registrato dal
    Dec 2000
    Messaggi
    147
    grazie LELEFT mi sei sempre di grande aiuto....ma mica ti servirebbe un assistente che ha tanta voglia di imparare??

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 © 2024 vBulletin Solutions, Inc. All rights reserved.