Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //11. Write a program that finds the index of given element in a
- //sorted array of integers by using the binary search algorithm (find it in Wikipedia).
- using System;
- class Program
- {
- static void Main()
- {
- int[] arr = { -8, -6, -1, 2, 3, 4, 6, 8 }; // arr ---- >
- int searched =-8;
- int decreaceInd = 0;
- int increaceInd = arr.Length - 1;
- int midIndex = 0;
- int midlElValue = int.MinValue;
- int left = int.MinValue;
- int right = int.MaxValue;
- while (midlElValue != searched)
- {
- midIndex = (decreaceInd + increaceInd) / 2; // arr[decrInd---?--mid index ---?--incrInd>>>]
- //decreaceInd = decreaceInd + (increaceInd) / 2;
- midlElValue = arr[midIndex];
- if (midlElValue > searched) // arr[----?--------mid index----->]
- { // so search in <--- this direction use
- increaceInd = midIndex-1;// -1 to start from next index
- right = arr[increaceInd]; // bonus
- } // arr[ decrId(same) ------?---mid Index----incrInd(midIndex-1)>>>>]
- if (midlElValue < searched)// arr[--------mid index---?----->]
- { //arr[ decrId(midIndex+1) ------?---mid Index----incrInd(same)>>>>]
- decreaceInd = midIndex + 1;
- left = arr[decreaceInd];//bonus
- }
- if (left < searched && searched > right)
- {
- Console.WriteLine("value {0} not amember in arr",searched);
- }
- }
- Console.WriteLine("Searched El {0} index in arr [{1}]", searched, midIndex);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement