YAPC::EU 2018 Glasgow Update!
This commit is contained in:
parent
22f33d4004
commit
4e2d22a71d
1170 changed files with 15042 additions and 3047 deletions
|
|
@ -0,0 +1,26 @@
|
|||
object CocktailSort extends App {
|
||||
def sort(arr: Array[Int]) = {
|
||||
var swapped = false
|
||||
do {
|
||||
def swap(i: Int) {
|
||||
val temp = arr(i)
|
||||
arr(i) = arr(i + 1)
|
||||
arr(i + 1) = temp
|
||||
swapped = true
|
||||
}
|
||||
|
||||
swapped = false
|
||||
for (i <- 0 to (arr.length - 2)) if (arr(i) > arr(i + 1)) swap(i)
|
||||
|
||||
if (swapped) {
|
||||
swapped = false
|
||||
for (j <- arr.length - 2 to 0 by -1) if (arr(j) > arr(j + 1)) swap(j)
|
||||
//if no elements have been swapped, then the list is sorted
|
||||
}
|
||||
} while (swapped)
|
||||
arr
|
||||
}
|
||||
|
||||
println(sort(Array(170, 45, 75, -90, -802, 24, 2, 66)).mkString(", "))
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue