aris2134 Δημοσ. 27 Μαρτίου 2009 Δημοσ. 27 Μαρτίου 2009 Το προβλημα σε 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(; 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(; } } Καμιά βοήθεια για το πως θα αντιστρέψω την στοίβα??
GrandGamer Δημοσ. 27 Μαρτίου 2009 Δημοσ. 27 Μαρτίου 2009 Αυτό που θέλεις να κάνεις είναι αρκετά εύκολο. Το μόνο που χρειάζεται να κάνεις είναι pop ένα ένα τα στοιχεία της μίας στοίβας μέσα στην άλλη. Δηλαδή: >public static Stack reverseStack(Stack source){ ArrayStack temp = new ArrayStack(); while(!source.isEmpty()) temp.push(source.pop()); return temp; }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.