summaryrefslogtreecommitdiff
path: root/comp/work/35/binaryseach.c
diff options
context:
space:
mode:
authorthing1 <thing1@seacrossedlovers.xyz>2024-09-24 15:28:45 +0100
committerthing1 <thing1@seacrossedlovers.xyz>2024-09-24 15:28:45 +0100
commitdc7732b6f073d5450657d94c815ca445a1a08fbd (patch)
tree03bacef1833854a6b229aa80d57911402959c0a1 /comp/work/35/binaryseach.c
parent997fd49c81a86696db6f62ce8c5bdde038c7cebb (diff)
fixed some demos
Diffstat (limited to 'comp/work/35/binaryseach.c')
-rw-r--r--comp/work/35/binaryseach.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/comp/work/35/binaryseach.c b/comp/work/35/binaryseach.c
new file mode 100644
index 0000000..e6ce234
--- /dev/null
+++ b/comp/work/35/binaryseach.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+
+char *arr[] = {
+ "ali",
+ "ben",
+ "carl",
+ "joe",
+ "ken",
+ "lara",
+ "mo",
+ "oli",
+ "pam",
+ "stan",
+ "tara"
+};
+int len = 11;
+
+char *binsearch(char *tofind){
+ int l = len/2;
+ char *start = arr[0];
+ char *end = arr[len];
+ char *mid = arr[l];
+
+ while (mid != tofind){
+ if (strcmp(mid, tofind) < 0){
+ start = mid;
+ l /= 2;
+ mid = arr[len - l];
+ }else {
+ end = mid;
+ l /= 2;
+ mid = arr[len - l]
+ }
+ }
+
+ return start;
+}
+
+int main(){
+ binsearch("pam");
+}