Advertisement
keero

Untitled

Jul 4th, 2017
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Binary_Search
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. List <int> numbers = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
  15. int numberTofind = int.Parse(Console.ReadLine());
  16.  
  17. int countLinearsearch = LinearSearch(numbers, numberTofind);
  18. int countBinarySearh = BinarySearch(numbers, numberTofind);
  19.  
  20. if (countLinearsearch < numbers.Count)
  21. {
  22. Console.WriteLine("Yes");
  23. }
  24. else
  25. {
  26. Console.WriteLine("No");
  27. }
  28.  
  29. Console.WriteLine("Linear search made {0} iterations", countLinearsearch);
  30. Console.WriteLine("Binary search made {0} iterations", countBinarySearh);
  31.  
  32. }
  33.  
  34. private static int BinarySearch(List<int> numbers, int numberTofind)
  35. {
  36. int count = 0;
  37.  
  38. numbers.Sort();
  39. int min = numbers[0];
  40. int max = numbers.Count-1;
  41.  
  42. while (min <= max)
  43. {
  44. int midPoint = (min + max) / 2;
  45. count++;
  46. if (numbers[midPoint] < numberTofind)
  47. {
  48. min = midPoint + 1;
  49. }
  50. if (numbers[midPoint] > numberTofind)
  51. {
  52. max = midPoint - 1;
  53. }
  54. if (numbers[midPoint] == numberTofind)
  55. {
  56. break;
  57. }
  58.  
  59. }
  60.  
  61.  
  62. return count;
  63. }
  64.  
  65. private static int LinearSearch(List<int> numbers, int numberTofind)
  66. {
  67. int count = 0;
  68.  
  69. for (int i = 0; i < numbers.Count; i++)
  70. {
  71. count++;
  72. if (numbers[i] == numberTofind)
  73. {
  74. return count;
  75. }
  76. }
  77.  
  78. return count;
  79. }
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement