package Ġcom . dbs rm . algorithms and data structures . Sorting Files Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġcom . dbs rm . algorithms and data structures . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ insertion _ sort .* Ċ Ċ class ĠInsert ion Sort Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ insertion _ sort ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġstr Ġ= Ġ" Algorithm :\ n \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step Ġ 1 ĠâĪ Ĵ ĠIf Ġit Ġis Ġthe Ġfirst Ġelement , Ġit Ġis Ġalready Ġsorted . Ġreturn Ġ 1 ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step Ġ 2 ĠâĪ Ĵ ĠPick Ġnext Ġelement \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step Ġ 3 ĠâĪ Ĵ ĠCompare Ġwith Ġall Ġelements Ġin Ġthe Ġsorted Ġsub - list \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step Ġ 4 ĠâĪ Ĵ ĠShift Ġall Ġthe Ġelements Ġin Ġthe Ġsorted Ġsub - list Ġthat Ġis Ġgreater Ġthan Ġthe Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠ Ġvalue Ġto Ġbe Ġsorted \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step Ġ 5 ĠâĪ Ĵ ĠInsert Ġthe Ġvalue \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Step Ġ 6 ĠâĪ Ĵ ĠRepeat Ġuntil Ġlist Ġis Ġsorted " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Pseudo Code :" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" procedure Ġinsertion Sort ( ĠA Ġ: Ġarray Ġof Ġitems Ġ) \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġint Ġhole Position \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġint Ġvalue To Insert \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ t \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġfor Ġi Ġ= Ġ 1 Ġto Ġlength ( A ) Ġinclusive Ġdo :\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ t \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġ/* Ġselect Ġvalue Ġto Ġbe Ġinserted Ġ*/ \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġvalue To Insert Ġ= ĠA [ i ]\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġhole Position Ġ= Ġi \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġ/* locate Ġhole Ġposition Ġfor Ġthe Ġelement Ġto Ġbe Ġinserted Ġ*/ \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ t \ t \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġwhile Ġhole Position Ġ> Ġ 0 Ġand ĠA [ hole Position - 1 ] Ġ> Ġvalue To Insert Ġdo :\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠ ĠA [ hole Position ] Ġ= ĠA [ hole Position - 1 ]\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠ Ġhole Position Ġ= Ġhole Position Ġ- 1 \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġend Ġwhile \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ t \ t \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġ/* Ġinsert Ġthe Ġnumber Ġat Ġhole Ġposition Ġ*/ \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ ĠA [ hole Position ] Ġ= Ġvalue To Insert \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġend Ġfor \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ t \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" end Ġprocedure " ĊĠĠĠĠĠĠĠ ĠInsert ion Text . setText ( str ) ĊĠĠĠ Ġ} Ċ } Ċ