array invertieren

Status
Nicht offen für weitere Antworten.
T

the saint

Gast
Hallo, ich bin bei der Programmierung eines evolutionären Algorithmus und ich will ein array invertieren,

Array intervieren bedeutet: die letzte Stelle des array steht an der ersten und die erste an der letzten ...

aber ich schaffe es nicht einmal mit Pseudocode. Meine bisherige Überlegung (in Pseudocode für Java)

Code:
int Lange = max(array.length)
for (int i=Lange; i>=0; i--){
for (int g=0; g<=Lange; g++){
array_new [g] = array[i];
}}

Warum funktioniert der Pseudocode nicht bzw. habt ihr eine besser idee (vielleicht programmiere ich schon zu lange heute ;-) Danke
 

Wildcard

Top Contributor
Variablen schreibt man klein und ohne '_'
So gehts mit neuem Array:
Code:
Foobar[] array2 = new Foobar[array.length];
for(int i=0;i<array.length)
{
     array2[i]=array[array.length-i];
}
 
G

Guest

Gast
Vielen Dank, es war ja auch nur Pseudocode um das zu realisieren... ich sitze schon seit 8 Uhr an diesem Problem ;-)
in die forschleife müsste aber noch ein i++ rein, oder?

Die beiden for-Schleifen arbeiten sich ineinander ab, deswegen war das total stuss von mir, oder?
 

Pennywise

Aktives Mitglied
Seid ihr sicher, dass das passt ?

Komm da keine: ArrayIndexOutOfBoundsException?

Muss doch heißen:

array2 = array[array.length-1-i];
:noe:
 

Wildcard

Top Contributor
Spriti No. 7 hat gesagt.:
Seid ihr sicher, dass das passt ?

Komm da keine: ArrayIndexOutOfBoundsException?

Muss doch heißen:

array2 = array[array.length-1-i];
:noe:
Wenn 'the saint' Pseudocode schreib darf ich das auch
schmoll.gif
 

mic_checker

Top Contributor
Oder das ganze in situ implementiert:

Code:
		int num = feld.length;
		
		for(int i = 0;i < num/2;i++) {
			int temp = feld[i];
			feld[i] = feld[num - 1 - i];
			feld[num - 1 - i] = temp;
		}

Geht auch ohne temp Variable, aber ist so sicher übersichtlicher..feld ist das int Array das es zu invertieren gilt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben