Προς το περιεχόμενο

Στοίβα στην Java


aris2134

Προτεινόμενες αναρτήσεις

Δημοσ.

Το προβλημα σε java ειναι το εξής:

Να κατασκευάσετε μια στοίβα που να περιέχει τα γράμματα του

λατινικού αλφαβήτου και στη συνέχει να γράψετε τον κώδικα της μεθόδου:

public static Stack reverseStack(Stack source)

η οποία δέχεται μια στοίβα source στην είσοδο και επιστρέφει μια νέα στοίβα με τα

στοιχεία της source σε αντίστροφη σειρά.

Παράδειγμα εκτέλεσης

Αρχική stack = [a b c d e f g h i j k l m n o p q r s t u v w x y z ]

Ανεστραμμένη stack = [z y x w v u t s r q p o n m l k j i h g f e d c b a ]

Εκτος απο τις αλλες κλάσεις που υλοποιούν την δομη στοιβα ο κωδικας της main που εκανα ειναι ο εξής

 

public class TestStack

{

public String[] insert(String[] a)

{

 

ArrayStack s=new ArrayStack();

int i;

 

for(i=0;i<a.length;i++)

s.push(a);

i=0;

return a;

}

 

//REVERSE

public static Stack reverseStack(Stack source)

{

 

source=new ArrayStack();

 

while(!source.isEmpty())

{

source.pop();

}

 

return source;

 

 

}

 

 

public static void main(String[] args)

{

TestStack s=new TestStack();

 

String[] b={"a","b","c","d","e","f","g"};

 

 

 

String[] c=new String[b.length];

 

 

 

 

 

c=s.insert(B);

 

System.out.println("The stack is: ");

 

for(int i=0;i<c.length;i++)

System.out.println(c);

 

System.out.println("The REVERSE stack is: ");

 

for(int i=0;i<c.length;i++)

reverseStack(B);

 

}

 

}

Καμιά βοήθεια για το πως θα αντιστρέψω την στοίβα??

Δημοσ.

Αυτό που θέλεις να κάνεις είναι αρκετά εύκολο. Το μόνο που χρειάζεται να κάνεις είναι pop ένα ένα τα στοιχεία της μίας στοίβας μέσα στην άλλη. Δηλαδή:

 

>public static Stack reverseStack(Stack source){
   ArrayStack temp = new ArrayStack();
   while(!source.isEmpty())
       temp.push(source.pop());
   return temp;
}

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...