こんにちは。
2次元配列のバブルソートを作ろうと思ったのですが、
長くなってしまい、どうすれば簡潔にまとめられるのかわかりません。
repeatとcntを使おうと思ったのですが、上手く思いつきません。
よろしければ教えてください。

;tr(0.0)からtr(3.2)までソート。
if tr.0.0>tr.0.1:u=tr.0.0:tr.0.0=tr.0.1:tr.0.1=u
if tr.0.1>tr.0.2:{
u=tr.0.1:tr.0.1=tr.0.2:tr.0.2=u
if tr.0.0>tr.0.1:u=tr.0.0:tr.0.0=tr.0.1:tr.0.1=u
}
if tr.0.2>tr.0.3:{
u=tr.0.2:tr.0.2=tr.0.3:tr.0.3=u
if tr.0.1>tr.0.2:u=tr.0.1:tr.0.1=tr.0.2:tr.0.2=u
if tr.0.0>tr.0.1:u=tr.0.0:tr.0.0=tr.0.1:tr.0.1=u
}
if tr.0.3>tr.1.0:{
u=tr.0.3:tr.0.3=tr.1.0:tr.1.0=u
;(以下省略