- boolean hasSwapped anlegen (true)
- solange wie hasSwapped true ist
- hasSwapped false setzen
- für jedes Element (Index i) im Array außer dem letzten
- für jedes Element ab Index i+1 im Array
- wenn findMax(element[i]) < findMax(element[i+1])
tausche element[i] mit element[i+1]
hasSwapped true setzen
wenn element[i][0] < element[i+1][0]
public static void Elemente_tauschen(long[][] arr) {
boolean hasSwapped =true;
while(hasSwapped==true) {
hasSwapped=false;
for(int i=0;i<arr.length-1;i++)
{
for(int j=1;j<arr[0].length;j++)
{
if(arr[i][j]<arr[i+1][j])
{
arr[i] = arr[i+1];
hasSwapped = true;
}
}
}
}
Das ist auch kein tauschen sondern ein einfaches überschreiben.arr[i] = arr[i+1];
Das kann auch noch abgeändert werden (siehe Pseudocode) - ist aber kein muss.int j=1
Wieso soll ich denn Elemente y in betracht ziehen, die vor Element x liegen bzw die x selbst sind? Die hab ich doch in vorherigen Iterationen bereits geprüft.
- boolean hasSwapped anlegen (true)
- solange wie hasSwapped true ist
- hasSwapped false setzen
- für jedes Element (Index i) im Array außer dem letzten
- wenn findMax(element[i]) < findMax(element[i+1])
tausche element[i] mit element[i+1]
hasSwapped true setzen
Ich glaube nicht, dass ich das irgendwie im "Matrix, Vector"-Thread unterbringe...am Ende war ich es immer
Wo ein Wille ist, ist auch ein Weg. Dir fällt schon was ein!Ich glaube nicht, dass ich das irgendwie im "Matrix, Vector"-Thread unterbringe...