Sunday 16 October 2016

Using Divide and Conquer Strategies design a function for Binary Search using Scala-2

object BinarySearch
{
def binarySearchRecursive(list: Array[Int], target: Int)
(start: Int=0, end: Int=list.length-1): Int = {
if (start>end) return -1
val mid = start + (end-start+1)/2
if (list(mid)==target)
return mid
else if (list(mid)>target)
return binarySearchRecursive(list, target)(start, mid-1)
else
return binarySearchRecursive(list, target)(mid+1, end)
}
def main(args: Array[String]) {
println(“Enter Array Elements: “)
val l = readLine.split(” “).map(_.toInt)
println(“\nEnter the element to be Searched”)
val s : Int = readLine.toInt
val st: Int = binarySearchRecursive(l,s)()
if(st!= -1)
println(“Element found at position:”+st);
else println(“Sorry Element not Found”);
}
}
========================OUTPUT=======================
ccpvg@ccpvg-HP-Compaq-4000-Pro-SFF-PC:~$ scalac BinarySearch.scala
ccpvg@ccpvg-HP-Compaq-4000-Pro-SFF-PC:~$ scala BinarySearch
Enter Array Elements:
10 20 30 40
Enter the element to be Searched
20
Element found at position:1
ccpvg@ccpvg-HP-Compaq-4000-Pro-SFF-PC:~$ scala BinarySearch
Enter Array Elements:
10 20 30 40
Enter the element to be Searched
50
Sorry Element not Found
ccpvg@ccpvg-HP-Compaq-4000-Pro-SFF-PC:~$


No comments:

Post a Comment