Skip to content

Instantly share code, notes, and snippets.

@emreyh
Created April 22, 2013 17:10
Show Gist options
  • Save emreyh/5436789 to your computer and use it in GitHub Desktop.
Save emreyh/5436789 to your computer and use it in GitHub Desktop.
class Bagliliste:
def __init__(self,size):
self.data=[None]*size
def ekleme(self,item,data):
hashdeger=self.hashfon(item,len(self.data))
if self.data[hashdeger]==None:
self.data[hashdeger]=data
elif type(self.data[hashdeger])==type([]):
self.data[hashdeger].append(data)
else:
eski=[self.data[hashdeger]]
eski.append(data)
self.data[hashdeger]=eski
def hashfon(self,item,size):
return item%size
def arama(self,item):
startslot=self.hashfon(item,len(self.data))
data="Aradiginiz Deger Yok"
dur=False
yok=False
poz=startslot
while self.data[poz] !=None and\
not yok and not dur:
if self.data[poz]==item:
yok=True
data=self.data[poz]
elif type(self.data[poz])==type([]) and \
item in self.data[poz]:
yok=True
data=item
else:
dur=True
return data
def __getitem__(self,item):
return self.arama(item)
def __setitem__(self,item,data):
self.ekleme(item,data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment