array invertieren

  • Themenstarter Themenstarter the saint
  • Beginndatum Beginndatum
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
 
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];
}
 
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?
 
Seid ihr sicher, dass das passt ?

Komm da keine: ArrayIndexOutOfBoundsException?

Muss doch heißen:

array2 = array[array.length-1-i];
:noe:
 
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
 
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


Zurück
Oben