From 6b6012ab05605173d54a47a4a637965478f01720 Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Tue, 27 Dec 2022 22:12:08 +0530 Subject: [PATCH] exp 12: init Signed-off-by: Amneesh Singh --- 12.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 12.png | Bin 0 -> 9182 bytes 2 files changed, 48 insertions(+) create mode 100644 12.c create mode 100644 12.png diff --git a/12.c b/12.c new file mode 100644 index 0000000..d7b8475 --- /dev/null +++ b/12.c @@ -0,0 +1,48 @@ +#include +#include + +typedef struct Item item; +struct Item { + unsigned int key; + int value; +}; + +unsigned int hash(char *x, unsigned int n) { + const unsigned int offset = 2166136261; + unsigned int hash = 0; + + for (unsigned int i = 0; i < n; x++, i++) { + hash *= offset; + hash ^= (*x); + } + + return hash; +} + +int search(item items[], int n, char *x, int xn) { + unsigned int key = hash(x, xn); + for (int i = 0; i < n; i++) { + if (items[i].key == key) + return items[i].value; + } + + printf("Not found"); + exit(1); +} + +int main() { + int const SIZE = 4; + item items[SIZE]; + items[0].key = hash("nita", 4); + items[0].value = 99; + items[1].key = hash("amaang", 5); + items[1].value = -129; + items[2].key = hash("unreal", 6); + items[2].value = 4; + items[3].key = hash("alpaviraam", 10); + items[3].value = 10000; + + char x[] = "unreal"; + + printf("Value for string %s is: %d", x, search(items, SIZE, x, 6)); +} diff --git a/12.png b/12.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb4c96d32a402892b6b29256083464a146d136b GIT binary patch literal 9182 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 literal 0 HcmV?d00001