Advertisement
Guest User

Ejercicio 3

a guest
Apr 18th, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.89 KB | None | 0 0
  1. object BusquedaBinaria extends App {
  2.   val arra3 : Array[Int] = new Array(10)           // Utilizo el array del ejercicio 1c para probar mi función
  3.   for(i <- 0 until arra3.length)
  4.     arra3(i) = 7*i
  5.   val j = búsquedaBinariaRec(14,arra3)
  6.   println(j)
  7.  
  8.   def búsquedaBinariaRec[A](x : A, xs : Array[A])(implicit ord : Ordering[A]) : Option[Int] = {
  9.     import ord._
  10.     def buscar(x : A, xs : Array[A], izq : Int, der : Int) : Option[Int] = {
  11.              return if (izq+der/2 < 0 || izq+der/2 > xs.length-1)
  12.                       None
  13.                     else if (x == xs(izq+der/2))
  14.                        Some(izq+der/2)
  15.                     else if (x<xs(izq+der/2))
  16.                        buscar(x,xs,izq,izq+der/2-1)
  17.                     else
  18.                        buscar(x,xs,izq+der/2+1,der)
  19.  
  20.       }
  21.   return buscar(x,xs,0,xs.length-1) //inicialmente, queda todo por buscar
  22.   }
  23.  
  24.  
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement