Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,6 @@
|
|||
def swap(a: Array[Int], i1: Int, i2: Int) = { val tmp = a(i1); a(i1) = a(i2); a(i2) = tmp }
|
||||
|
||||
def selectionSort(a: Array[Int]) =
|
||||
for (i <- 0 until a.size - 1)
|
||||
swap(a, i, (i + 1 until a.size).foldLeft(i)((currMin, index) =>
|
||||
if (a(index) < a(currMin)) index else currMin))
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
def selectionSort(a: Array[Int]) = for (i <- 0 until a.size - 1) (
|
||||
{ (i1: Int, i2: Int) => val tmp = a(i1); a(i1) = a(i2); a(i2) = tmp }
|
||||
) (i, (i + 1 until a.size).foldLeft(i)((currMin, index) => if (a(index) < a(currMin)) index else currMin) )
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
def selectionSort[T <% Ordered[T]](list: List[T]): List[T] = {
|
||||
def remove(e: T, list: List[T]): List[T] =
|
||||
list match {
|
||||
case Nil => Nil
|
||||
case x :: xs if x == e => xs
|
||||
case x :: xs => x :: remove(e, xs)
|
||||
}
|
||||
|
||||
list match {
|
||||
case Nil => Nil
|
||||
case _ =>
|
||||
val min = list.min
|
||||
min :: selectionSort(remove(min, list))
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue