Du kannst dir das genau so vorstellen, wie wenn du ein 1D-Array sortierst. Angenommen du nimmst Bubblesort. Dort gibt es eine kleine animierte Grafik wie und wann getauscht wird.
Jetzt kannst du das genau so auf 2D-Arrays ummünzen. Anstatt nur Zahlen zu tauschen, tauschst du eben ganze Arrays. (ein 2D-Array ist ja nichts anderes als ein Array von Arrays).
[code=Text]
- 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
[/code]
findMax(array) soll einfach nur das Maximum in einem Array finden.
Theor. würde das ganze mit Java 8 auch einfacher gehen. Mach es aber erstmal so.
Edit: Wenn du mit "die erste größere Zahl soll oben stehen" wirklich das erste Element im Sub-Array meinst, kannst du die Bedingung auch umschreiben in:
[code=Text]wenn element[i][0] < element[i+1][0][/code]