【发布时间】:2015-05-19 17:26:50
【问题描述】:
这是我使用 Groovy 执行选择排序的代码:
class SelectionSorting {
void sorting() {
def sortmethod = {
List data = [ 1, 5, 2, 3, 7, 4, 6, 8, 9, ]
def n = data.size()
println "Before sort : " + data
for(def i in 0..n) {
def position=i
for(def j in i+1..n) {
if(data[position] > data[i])
position=i
}
if(position!=i) {
swap(data[i],data[position])
}
}
println "After sort : " + data
}
sortmethod()
}
}
SelectionSorting s = new SelectionSorting()
s.sorting()
但是,我看到的输出仍然是一个未排序的数组:
Before sort : [1, 5, 2, 3, 7, 4, 6, 8, 9]
After sort : [1, 5, 2, 3, 7, 4, 6, 8, 9]
我对 Groovy 很陌生。我应该只在闭包中插入逻辑。我不确定在上面的代码中创建的闭包中需要更改什么。请帮忙。
【问题讨论】:
标签: groovy closures selection-sort