# array invertieren



## the saint (9. Jun 2005)

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)


```
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 (9. Jun 2005)

Variablen schreibt man klein und ohne '_'
So gehts mit neuem Array:

```
Foobar[] array2 = new Foobar[array.length];
for(int i=0;i<array.length)
{
     array2[i]=array[array.length-i];
}
```


----------



## Guest (9. Jun 2005)

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?


----------



## Wildcard (9. Jun 2005)

ja(hab ich vergessen) und ja  :wink:


----------



## Pennywise (9. Jun 2005)

Seid ihr sicher, dass das passt ?

Komm da keine: ArrayIndexOutOfBoundsException?

Muss doch heißen:

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


----------



## Wildcard (9. Jun 2005)

Spriti No. 7 hat gesagt.:
			
		

> Seid ihr sicher, dass das passt ?
> 
> Komm da keine: ArrayIndexOutOfBoundsException?
> 
> ...


Wenn 'the saint' Pseudocode schreib darf ich das auch


----------



## Pennywise (9. Jun 2005)

Braver Wildcard. Onkel Spriti hats nicht böse gemeint.


----------



## mic_checker (9. Jun 2005)

Oder das ganze in situ implementiert:


```
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.


----------

