Files
LennartOOP/list.py
T

86 lines
2.0 KiB
Python

class List():
def __init__(self):
self.head = None
def last(self):
if self.head == None:
return None
else:
last = self.head
while True:
if last.next() == None:
return last
else:
last = last.next()
def len(self):
len = 1
if self.head == None:
return 0
else:
last = self.head
while True:
if last.next() == None:
return len
else:
last = last.next()
len += 1
def add(self, data): #=append()
if self.head == None:
self.head = Knot(data)
else:
last = self.last()
last.add(Knot(data))
def remove(self, index):
knotDel = self.findIndex(index)
knotChange = self.findIndex(index - 1)
knotChange.pointer = knotDel.pointer
knotDel = None
def change(self, index, data):
knot = self.findIndex(index)
knot.data = data
def findIndex(self, nr):
try:
index = self.head
for i in range(nr):
index = index.next()
return index
except:
print("Index nicht in Liste")
def printWhole(self):
if self.head == None:
print(None)
return
knot = self.head
while True:
if knot.next() == None:
print(knot.data)
return
else:
print(knot.data)
knot = knot.next()
def print(self, index):
knot = self.findIndex(index)
print(knot.data)
class Knot():
def __init__(self, data):
self.data = data
self.pointer = None
def add(self, obj):
if self.pointer == None:
self.pointer = obj
def next(self):
return self.pointer