package Ġchapter 2 . section 1 Ċ Ċ import Ġchapter 2 . Array InitialState Ċ import Ġchapter 2 . sort Methods Compare Ċ import Ġextensions . input Prompt Ċ import Ġextensions . readInt Ċ Ċ /** Ċ Ġ* Ġä¸į éľĢè¦ģ äº¤ æį¢ çļĦ æıĴåħ¥ æİĴåºı Ċ Ġ* Ġåľ¨ æıĴåħ¥ æİĴåºı çļĦ å®ŀçİ° ä¸Ń ä½¿ è¾ĥ å¤§ åħĥç´ł åı³ ç§» ä¸Ģ ä½į åıª éľĢè¦ģ è®¿éĹ® ä¸Ģæ¬¡ æķ°ç»Ħ ï¼Ī èĢĮ ä¸į ä½¿çĶ¨ ex ch () ï¼īãĢĤ Ċ Ġ* Ġä½¿çĶ¨ Sort Compare æĿ¥ è¯Ħ ä¼° è¿Ļç§į åģļ æ³ķ çļĦ æķĪæŀľ ãĢĤ Ċ Ġ*/ Ċ fun Ġ< T Ġ: ĠComparable < T >> Ġex 2 5 _ Insertion Sort Without Exchange s ( array : ĠArray < T >) Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġarray . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġi ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġarray [ i ] ĊĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġi Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ> Ġarray [ j ]) Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray [ j Ġ+ Ġ 1 ] Ġ= Ġarray [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġj ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( index Ġ!= Ġi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray [ index ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġinput Prompt () ĊĠĠĠ Ġval Ġsize Ġ= Ġread Int (" size : Ġ") ĊĠĠĠ Ġ// æ£ĢæŁ¥ æİĴåºı æĸ¹æ³ķ æĺ¯åĲ¦ æŃ£ç¡® Ċ // ĠĠĠ Ġval Ġresult Ġ= Ġex 1 6 ( getDouble Array ( size , ĠArray InitialState . RANDOM ), Ġ:: ex 2 5 ) Ċ // ĠĠĠ Ġprintln (" Check Ġresult Ġ= Ġ$ result ") ĊĠĠĠ Ġsort Methods Compare ( array Of (" Insertion ĠSort " Ġto Ġ:: insertion Sort , Ġ" ex 2 5 " Ġto Ġ:: ex 2 5 _ Insertion Sort Without Exchange s ), Ġ 1 , Ġsize , ĠArray InitialState . RANDOM ) Ċ }