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]