Search array with binary search
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
| C# Code Snippets |
| See also |
| edit |
This C# code snippet searches an array of integers using a binary search.
using System; class ArrayBinarySearch { public static void Main() { int[] ints = {0, 10, 100, 1000, 1000000 }; Console.WriteLine ("Array indices and elements: "); for (int i = 0; i < ints.Length; i++ ) { Console.Write("[{0}]={1, -5}", i, ints[i]); } Console.WriteLine(); FindObject (ints, 25); FindObject (ints, 1000); FindObject (ints, 2000000); } public static void FindObject (Array array, Object o) { int index = Array.BinarySearch (array, 0, array.Length, o); Console.WriteLine(); if (index > 0 ) { Console.WriteLine ("Object: {0} found at [{1}]", o, index ); } else if (index == array.Length ) { Console.WriteLine ("Object: {0} not found. " + "No array object has a greater value." , o); Console.WriteLine (); } else { Console.WriteLine ("Object: {0} not found. " + "Next larger object found at [{1}].", o, ~index); } } }
| Binary search array example (program output) |
| Array indices and elements: [0]=0 [1]=10 [2]=100 [3]=1000 [4]=1000000 Object: 25 not found. Next larger object found at [2]. Object: 1000 found at [3] Object: 2000000 not found. No array object has a greater value. |