From c41f19811fa72ba540c262a378208b92efce780e Mon Sep 17 00:00:00 2001 From: Luke Else Date: Mon, 31 Jan 2022 15:59:44 +0000 Subject: [PATCH] Added Binary Search to Navdata --- Models/NavdataModel.cs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Models/NavdataModel.cs b/Models/NavdataModel.cs index af4cd67..ddff227 100644 --- a/Models/NavdataModel.cs +++ b/Models/NavdataModel.cs @@ -67,7 +67,28 @@ namespace EFB.Models } return navdata.ToArray(); + } + public static NavdataModel BinarySearch(ref NavdataModel[] data, int start, int end, string target){ + int midpoint = start + ((end - start) / 2); + target = target.ToUpper().Trim(); + + string mid = data[midpoint].Name; + + if (start == end-1) + { + if (mid == target) + { + return data[midpoint]; + } + return null; + } + + if (String.Compare(target, mid) < 0) + { + return BinarySearch(ref data, start, midpoint, target); + } + return BinarySearch(ref data, midpoint, end, target); } }