C#二分查找算法实例分析
原文链接:https://www.jb51.net/article/65006.htm
internal class Program { static void Main(string[] args) { Program program = new Program(); int[] ints = { 1, 2, 3, 4, 5 }; int i = program.BinarySearch(ints, 3); Console.WriteLine(i); Console.ReadKey(); } public int[] GetSubArray(int[] arr, int start, int end) { List<int> ints = new List<int>(); for (int i = start; i <= end; i++) { ints.Add(arr[i]); } return ints.ToArray(); } public int BinarySearch(int[] arr, int x) { if (arr.Length == 0) { return -1; } int mid = arr.Length / 2; if (arr[mid] == x) { return mid; } if (x < arr[mid]) { return BinarySearch(GetSubArray(arr, 0, mid - 1), x); } else { int indexFound = BinarySearch(GetSubArray(arr, mid + 1, arr.Length - 1), x); if (indexFound == -1) { return -1; } else { return mid + 1 + BinarySearch(GetSubArray(arr, mid + 1, arr.Length - 1), x); } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律