fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġarr Ġ= ĠarrayOf ( 0 , Ġ 9 , Ġ 8 , Ġ 7 , Ġ 3 , Ġ 2 , Ġ 1 , Ġ- 2 3 2 , Ġ- 2 3 2 3 1 , Ġ 1 2 , Ġ 1 1 ) ĊĠĠĠ Ġval Ġarr 2 Ġ= ĠarrayOf ( 9 , Ġ- 1 ) ĊĊĠĠĠ Ġprintln (" Before Ġbubble Ġsort : Ġ${ arr . pretty () }") ĊĊĠĠĠ Ġbubble Sort ( arr ) ĊĊĠĠĠ Ġprintln (" After Ġbubble Ġsort : Ġ${ arr . pretty () }") ĊĊĠĠĠ Ġprintln (" Before Ġbubble Ġsort : Ġ${ arr 2 . pretty () }") ĊĊĠĠĠ Ġbubble Sort ( arr 2 ) ĊĊĠĠĠ Ġprintln (" After Ġbubble Ġsort : Ġ${ arr 2 . pretty () }") Ċ } Ċ Ċ fun Ġbubble Sort ( arr : ĠArray < Int >) Ġ{ ĊĠĠĠ Ġvar Ġcurrent Idx Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġnext Idx Ġ= Ġ 1 ĊĊĠĠĠ Ġwhile Ġ( next Idx Ġ< Ġarr . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// compare Ġelements ĊĠĠĠĠĠĠĠ Ġif Ġ( arr [ current Idx ] Ġ<= Ġarr [ next Idx ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// move Ġon Ġto Ġnext Ġpair Ġ( bubble ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Idx ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnext Idx ++ ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// swap Ġthe Ġelements ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġswap Ġ= Ġarr [ current Idx ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ current Idx ] Ġ= Ġarr [ next Idx ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ next Idx ] Ġ= Ġswap ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// start Ġanother Ġpass ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Idx Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnext Idx Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ