die Umkehrung ein array von Zeichen, ohne das erstellen eines neuen array
Wie kann ich ein array in umgekehrter Platz (ohne das erstellen eines neuen array)?
Welche Sprache? Siehe auch stackoverflow.com/questions/1469311/reverse-array-in-place stackoverflow.com/questions/585257/... +viele andere.
InformationsquelleAutor miriam | 2009-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hausaufgaben mittels pseudo-code, der nur von mir, die Sie gemacht habe, relativ leicht, indem Sie nicht angeben, welche Sprache Sie sowieso wollen 🙂
Deaktivieren Sie diese in Ihrer Sprache der Wahl:
Ideale, was zu tun ist, um tatsächlich zu führen, dass der Algorithmus in Ihrem Kopf, mit einem Stück Papier, um zu verfolgen Variablen:
i1
undi2
.temporary variable
.Ich dazu neigen, dass für die einfacheren algorithmen. Härter, die ich einfügen debug-Anweisung so, dass der computer tun können, dass grunt Arbeit für mich. Beginnen Sie mit einem Stück Papier so:
und führen Sie einfach die Schritte eins nach dem anderen, das prüfen und/oder ändern jede Spalte, wie Sie gehen. Das wird dazu führen, dass Sie verstehen, wie es funktioniert weit besser, als nur ein paar code.
InformationsquelleAutor paxdiablo
InformationsquelleAutor Asad Rao
Rückseite ein array von Zeichen, ohne das erstellen eines neuen array mit java.
Wenn Sie umkehren möchten int array, Sie zu ändern
public static void reverseArray(String[] array)
alspublic static void reverseArray(int[] array)
undString temp
alsint temp
.Beispiel:
Ausgabe :
InformationsquelleAutor Nuwan Samarasinghe
Tauschen Sie die enden ständig, bei der eine einzige variable als temporäre Puffer. In pseudo-code:
und so weiter.
size - 1
, nichtsize - 2
.Wenn Sie einen compiler, geschrieben in den letzten paar Jahrzehnten, es optimieren wird, es besser für die Architektur ist es, auf einen ( XOR, oder kann ein register temporär )
Wenn Sie den xor-swap-Methode, können Sie beseitigen die temporäre. In pseudocode: [curr] = a[curr] xor a[size - curr] [curr] = a[curr] xor a[size - curr] [curr] = a[curr] xor a[size - curr] ++curr
Hoppla, nicht sicher, warum ich Größe - 2. Vielen Dank, Thomas.
Idee. Nicht verwenden Sie den XOR-swap-Verfahren hier. Wenn es eine ungerade Anzahl der array-Elemente (oder 1 element), XOR swapping ein element mit sich selbst wird im Ergebnis 0. Wenn Sie haben zu prüfen, diese Bedingung, Sie könnte genauso gut verwenden Sie die temp-variable
InformationsquelleAutor alternative
InformationsquelleAutor Babasaheb Matsagar
Nicht stört Umkehrung des Arrays im Speicher, nur Durchlaufen Sie nach hinten!
InformationsquelleAutor Rasmus Kaj
Hier ist die Lösung zum umkehren einer array-Elemente ohne die Verwendung von temp-Variablen oder einem anderen array. Dies funktioniert nur mit Java 8 und vor version.
Dank,
InformationsquelleAutor Nallamachu
Hier ist ein komplettes Programm, einfach kopieren-einfügen, und führen Sie es in Ihre IDE :
Ausgabe :
InformationsquelleAutor Ramesh Fadatare
Rückwärtsfahren ein array von Zeichen, ohne das erstellen eines neuen array -
InformationsquelleAutor ismail
InformationsquelleAutor captainozlem