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