Skip to content

Hash #33

Description

@kostyria

class HashTable:
def init(self, size):
self.elems = [None] * size
self.size = size

def hash(self, key):
    return key % self.size

def add(self, value):
    hash = self.hash(value)
    if self.elems[hash] is None:
        self.elems[hash] = value
    else:
        i = 1
        while True:
            index = (hash + i) % self.size
            if self.elems[index] is None:
                self.elems[index] = value
                break
            i += 1

def print_ht(self):
    output = []
    for i in range(self.size):
        if self.elems[i] is not None:
            output.append(f"{i} -> {self.elems[i]}")
        else:
            output.append(f"{i} -> ")
    print("\n".join(output))

ht = HashTable(10)
ht.add(13)
ht.add(73)
ht.add(23)
ht.add(14)
ht.print_ht()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions