RosettaCodeData/Task/Sort-stability/NetRexx/sort-stability.netrexx

56 lines
1.3 KiB
Plaintext

/* NetRexx */
options replace format comments java crossref savelog symbols nobinary
class RCSortStability
method main(args = String[]) public constant
cityList = [String "UK London", "US New York", "US Birmingham", "UK Birmingham"]
cn = String[cityList.length]
say
say "Before sort:"
System.arraycopy(cityList, 0, cn, 0, cityList.length)
loop city = 0 to cn.length - 1
say cn[city]
end city
cCompNm = Comparator CityComparator()
Arrays.sort(cn, cCompNm)
say
say "After sort on city:"
loop city = 0 to cn.length - 1
say cn[city]
end city
say
say "Before sort:"
System.arraycopy(cityList, 0, cn, 0, cityList.length)
loop city = 0 to cn.length - 1
say cn[city]
end city
cCompCtry = Comparator CountryComparator()
Arrays.sort(cn, cCompCtry)
say
say "After sort on country:"
loop city = 0 to cn.length - 1
say cn[city]
end city
say
return
class RCSortStability.CityComparator implements Comparator
method compare(lft = Object, rgt = Object) public binary returns int
return (String lft).substring(4).compareTo((String rgt).substring(4))
class RCSortStability.CountryComparator implements Comparator
method compare(lft = Object, rgt = Object) public binary returns int
return (String lft).substring(0, 2).compareTo((String rgt).substring(0, 2))