Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace BinarySearch
- {
- using System;
- using System.Linq;
- public class BinarySearch
- {
- public static void Main()
- {
- int[] array = Console.ReadLine().Split().Select(int.Parse).ToArray();
- int elementToFind = int.Parse(Console.ReadLine());
- Array.Sort(array);
- Console.WriteLine(PerformBinarySearch(array, elementToFind));
- }
- public static int PerformBinarySearch<T>(T[] array, T elementToSearch) where T : IComparable
- {
- int index = -1;
- int min = 0;
- int max = array.Length - 1;
- while (min < max)
- {
- int mid = min + (max - min) / 2;
- if (array[mid].CompareTo(elementToSearch) == 0)
- {
- while (mid >= 0 && array[mid].CompareTo(elementToSearch) == 0)
- {
- index = mid;
- mid--;
- }
- return index;
- }
- if (array[mid].CompareTo(elementToSearch) == -1)
- {
- min = mid;
- }
- else
- {
- max = mid;
- }
- }
- return index;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement