package Ġnet . mi lo sv asic . algorithms Ċ Ċ import Ġnet . mi lo sv asic . algorithms . sort . efficient . Merge Sort ĊĊ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġ// Ġ" Prepare Ġdata " ĊĠĠĠ Ġval Ġascending Raw Ġ= ĠgetRandom Data ( 1 0 0 0 Ġ* Ġ 1 0 0 0 , Ġ 1 , Ġ 1 0 0 0 ) ĊĠĠĠ Ġval Ġdescending Raw Ġ= ĠgetRandom Data ( 1 0 0 0 Ġ* Ġ 1 0 0 0 , Ġ 1 , Ġ 1 0 0 0 ) ĊĊĠĠĠ Ġ// Ġ" Sort Ġascending " ĊĠĠĠ Ġvar Ġstart Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠ ĠMerge Sort < Int >(). sort ( ascending Raw ) ĊĠĠĠ Ġval Ġelapsed Ascending Ġ= Ġget Elapsed Time ( start ) ĊĊĠĠĠ Ġ// ĠSort Ġdescending ĊĠĠĠ Ġstart Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠ ĠMerge Sort < Int >(). sort ( desc ending Raw , Ġfalse ) ĊĠĠĠ Ġval Ġelapsed Descending Ġ= Ġget Elapsed Time ( start ) ĊĊĠĠĠ Ġ// ĠVerify Ġsorting ĊĠĠĠ Ġverify ( ascending Raw ) ĊĠĠĠ Ġverify ( desc ending Raw , Ġfalse ) ĊĊĠĠĠ Ġ// ĠPrint Ġdata ĊĠĠĠ Ġprintln (" Merge Ġsort Ġascending , Ġelapsed Ġtime : Ġ[ Ġ$ elapsed Ascending Ġ] ") ĊĠĠĠ Ġprintln (" Merge Ġsort Ġdescending , Ġelapsed Ġtime : Ġ[ Ġ$ elapsed Descending Ġ] ") Ċ }