fork download
  1. fun binarySearch(array: List<Int>, number: Int, left: Int, right: Int): Int {
  2. if(left == right && array[left] == number) {
  3. return left
  4. }
  5. else if (left >= right) {
  6. return -1
  7. }
  8.  
  9. val middle = (left + right) / 2
  10.  
  11. if (number < array[middle]) {
  12. return binarySearch(array, number, left, middle)
  13. } else if (number > array[middle]) {
  14. return binarySearch(array, number, middle + 1, right)
  15. } else {
  16. return middle
  17. }
  18. }
  19.  
  20. fun main() {
  21. val array = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  22. val number = 8
  23.  
  24. val index = binarySearch(array, number, 0, array.count())
  25.  
  26. if (index == -1) {
  27. println("Szukanej liczby nie ma na liscie")
  28. } else {
  29. println("Szukana liczba znajduje sie pod indeksem $index")
  30. }
  31. }
Success #stdin #stdout 0.1s 39584KB
stdin
Standard input is empty
stdout
Szukana liczba znajduje sie pod indeksem 7