2016-06-01 12 views
-4

Wie schreibe ich eine Methode, die, wenn ein Array von Ganzzahlen übergeben wird, das Array mit einem Stapel umgekehrt zurückgibt?Umgekehrtes Array von einem Stapel zurückgeben

Ich bin ein totaler Anfänger bei Java bitte nicht mich für meinen eigenen Versuch fragen, da ich nicht weiß, wo ich anfangen soll. Jede Hilfe würde sehr geschätzt werden.

+0

Sie im Glück. Ein Stapel ist Last-In-First-Out. Das bietet sich wirklich an, Arrays umzukehren. – Thilo

+0

@ZephyrPellerin Nein, ist es nicht. –

+1

Mögliches Duplikat [ein Array mit einem Stapel Umkehren?] (Http://stackoverflow.com/questions/28268945/reversing-an-array-using-a-stack) –

Antwort

0
Stack<Integer> stack = new Stack<>(); 
for (int i = 0; i < array.length; i++) { 
    stack.push(array[i]); 
} 
for (int i = 0; i < array.length; i++) { 
    array[i] = stack.pop(); 
} 
0

Betrachten Sie als Anfänger in Java und Datenstruktur.
Stack ist eine Datenstruktur, die nach dem LIFO-Prinzip (Last In First Out) arbeitet. Sie können sich Stack als einen Container für CD (Compact Disks) vorstellen. Sie legen einige CDs dort hin, und wenn Sie sie dann holen, bekommen Sie die CD, die Sie zuletzt eingelegt haben.
In Ihrem Fall müssen Sie nur diese Elemente aus dem gegebenen Array lesen und sie einzeln in den Stack einreihen. Dann hole sie einfach einzeln aus dem Stack und lege sie in ein neues Array. Sie erhalten das umgekehrte Array.
Verwenden push (Integer Artikel) und pop() von java.util.Stack Klasse in setzen und Abrufen das oberste Element aus dem Stapel.

0

Da ein Stapel ist „last in, first out“, wenn Sie einen Wert aus dem Stapel Pop und in ein neues Array stecken Sie ihn in umgekehrter Reihenfolge enden.

int[] arr = {1, 2, 3, 4, 5}; 

Poping Werte aus arr und sie in ein neues Array Zugabe bewirkt:

reverse = {5, 4, 3, 2, 1}; 

die Werte Pop off arr einer for-Schleife:

int[] reverse = new int[arr.length]; 

for(int i = 0; i < arr.length; i++){ 
    reverse[i] = pop(); 
} 
return reverse;