Advertisement
Guest User

Untitled

a guest
May 25th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp1
  8. {
  9. class BinarySearch
  10. {
  11. static public int? Search(int[] array, int key, int left, int right)
  12. {
  13. if ((array.Length == 0) || (key < array[0]) || (key > array[array.Length - 1]))
  14. {
  15. return null;
  16. }
  17. int mid = left + (right - left) / 2;
  18.  
  19. if (left >= right)
  20. {
  21. return null;
  22. }
  23.  
  24. if (array[mid] == key)
  25. {
  26. return mid;
  27. }
  28.  
  29. else if (array[mid] > key)
  30. {
  31. return Search(array, key, left, mid);
  32. }
  33. else
  34. {
  35. return Search(array, key, mid + 1, right);
  36. }
  37. }
  38. }
  39.  
  40. class Program
  41. {
  42. static void Main(string[] args)
  43. {
  44. int[] a = { 1, 3, 5, 7, 9 };
  45. Console.WriteLine("Шукаємо -1: {0}", BinarySearch.Search(a, -1, 0, a.Length));
  46. Console.WriteLine("Шукаємо 3: {0}", BinarySearch.Search(a, 3, 0, a.Length));
  47. Console.WriteLine("Шукаємо 6: {0}", BinarySearch.Search(a, 6, 0, a.Length));
  48. Console.WriteLine("Шукаємо 9: {0}", BinarySearch.Search(a, 9, 0, a.Length));
  49. Console.WriteLine("Шукаємо 20: {0}", BinarySearch.Search(a, 20, 0, a.Length));
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement