Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Ordinamento Stack

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2015
    residenza
    Padova
    Messaggi
    6

    Ordinamento Stack

    Salve a tutti, sono nuovo qui e mi scuso se c'era una sezione di presentazione, non ho visto nulla.
    Mi servirebbe capire perché il seguente metodo
    codice:
    public void sortStack()
        {
        ArrayStack nS1 = new ArrayStack();
        ArrayStack nS2 = new ArrayStack();
        nS1.push(pop());
        Comparable c = null;
        Comparable c1 = null;
        while(!isEmpty())
            {
                 c = (Comparable)top();
                 c1 = (Comparable)nS1.top();
                 while(!(nS1.isEmpty()) || c.compareTo(c1) < 0)
                 {
                    nS2.push(nS1.pop());
                  }
                    nS1.push(pop());
                    while(!(nS2.isEmpty()))
                    {
                         nS1.push(nS2.pop());
                     }
            }
            while(!(nS1.isEmpty()))
           {
                 push(nS1.pop());
            }
        }
    non funziona, ma mi lascia la pila così come era all'inizio.
    Grazie a tutti!
    Ultima modifica di MItaly; 31-08-2015 a 15:53 Motivo: Aggiunti tag CODE

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2015
    residenza
    Padova
    Messaggi
    6
    Scusate mi sono appena accorto che c'era la sezione Java :/

  3. #3

    Moderazione

    Sposto in Java (e aggiungo i tag [CODE] ... [/CODE]).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Albeh Visualizza il messaggio
    Mi servirebbe capire perché il seguente metodo non funziona, ma mi lascia la pila così come era all'inizio.
    Scusa ma fammi capire .... un ordinamento di uno stack a colpi di soli push/pop??
    Oh mamma .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2015
    residenza
    Padova
    Messaggi
    6
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa ma fammi capire .... un ordinamento di uno stack a colpi di soli push/pop??
    Oh mamma .....
    Eh non dirlo a me ç______ç
    Così richiede l'esercizio

  6. #6
    ma non è che dovevi farlo con gli array l'esercizio?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2015
    residenza
    Padova
    Messaggi
    6
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    ma non è che dovevi farlo con gli array l'esercizio?
    Esercizio 7 (impegnativo)

    Argomento: algoritmi su tipi di dati astratti, pile
    Realizzare un algoritmo che ordina gli elementi di una pila: dopo l'applicazione dell'algoritmo gli oggetti contenuti nella pila devono essere ordinati, con l'elemento minore in cima alla pila (si supponga, ovviamente, che tutti gli oggetti siano esemplari di una stessa classe che realizza l'interfaccia Comparable).

    • l'algoritmo non deve usare array o altre strutture dati, ma soltanto pile
    • l'algoritmo non deve restituire una nuova pila, ma deve modificare il contenuto della pila ricevuta come parametro esplicito
    • la realizzazione più semplice prevede l'utilizzo di DUE pile come spazio di memorizzazione temporaneo
    • è possibile individuare una soluzione migliore (dal punto di vista dello spazio di memoria richiesto), che usi UNA sola pila come spazio di memorizzazione temporaneo
    • si suggerisce di prendere spunto dall'algoritmo di ordinamento per selezione
    • se non si riesce ad individuare un algoritmo per la soluzione del problema, si realizzi questo.

    Dopo avere scritto un metodo statico sortStack che realizza l'algoritmo sopra descritto, inserirlo in una classe eseguibile che:

    • legge dallo standard input un insieme (di dimensione non predeterminata) di numeri in virgola mobile, in formato libero (ossia anche più numeri su una stessa riga, separati da spazi), e li inserisce in una pila
    • invoca il metodo sortStack sulla pila appena riempita
    • visualizza sullo standard output i numeri dell'insieme in ordine crescente, uno per riga, estraendoli dalla pila

Tag per questa discussione

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.