From 474345a204a0dd36ceb85e83a85c770371c15e4e Mon Sep 17 00:00:00 2001 From: rhpidfyre Date: Tue, 25 Feb 2025 18:32:08 -0500 Subject: [PATCH] search module for fs --- src/rt/shell/fs/search.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/rt/shell/fs/search.ts diff --git a/src/rt/shell/fs/search.ts b/src/rt/shell/fs/search.ts new file mode 100644 index 0000000..d032d81 --- /dev/null +++ b/src/rt/shell/fs/search.ts @@ -0,0 +1,33 @@ +interface Search { + binary: (list: T[], find: T) => T | undefined, + linear: (list: T[], find: T) => T | undefined, +} +const search = {} as Search + +search.binary = function(list, find) { + list.sort() + let start = 0 + let end = list.length-1 + while (start<=end) { + const median = (start+end)>>1 + if (list[median] === find) { + return find + } else if (list[median]