In eigener Sache
Allgemein
Mich hat es schwer erwischt, hatte im Januar 2016 einen kleinen Schlaganfall, die Profis sprechen von einer ischämische Attacke. Kurz mich hat es böse erwischt! Bei der Attacke wurde meine Pyramidenbahn verletzt, welches ich beim Laufen merke. Jetzt ist das ganze 3 Jahre her und ich möchte 2019 durchstarten. Als Vorbereitung mache ich ein ppar Python Fingerübungen.
Hier meine ersten Ergenisse, ein Shaker Sort und ein Insertion Sort
Gruß JJR
Kategorie Mich hat es schwer erwischt, hatte im Januar 2016 einen kleinen Schlaganfall, die Profis sprechen von einer ischämische Attacke. Kurz mich hat es böse erwischt! Bei der Attacke wurde meine Pyramidenbahn verletzt, welches ich beim Laufen merke. Jetzt ist das ganze 3 Jahre her und ich möchte 2019 durchstarten. Als Vorbereitung mache ich ein ppar Python Fingerübungen.
Hier meine ersten Ergenisse, ein Shaker Sort und ein Insertion Sort
Gruß JJR
import random
class Sort:
list = []
lower = 0
upper = 0
def __init__(self):
self.list = []
def bubbleUp(self):
i = self.lower
while i < self.upper:
if self.list[i] > self.list[i+1]:
s = self.list[i]
self.list[i] = self.list[i+1]
self.list[i+1] = s
i = i + 1
self.upper = self.upper - 1
def bubbleDown(self):
i = self.upper
while i > self.lower:
if self.list[i] < self.list[i-1]:
s = self.list[i]
self.list[i] = self.list[i-1]
self.list[i-1] = s
i = i - 1
self.lower = self.lower + 1
def bubbleSort(self):
self.lower = 0
self.upper = len(self.list) - 1
while self.lower < self.upper:
self.bubbleUp()
self.bubbleDown()
def copylist(self, source):
self.list = []
for i in source.list:
self.list.append(i)
def insertionSort(self, source):
if len(self.list) == 0:
self.list.append(source)
return
start = 0
end = len(self.list)-1
while end > start:
mid = (end - start) // 2 + start
if self.list[mid] < source:
start = mid + 1
else:
end = mid
if self.list[start] < source:
self.list.insert(start+1, source)
else:
self.list.insert(start, source)
mySort = Sort()
mySort2 = Sort()
for i in range(0,1000):
mySort.list.append(random.randint(0,1000000))
mySort2.copylist(mySort)
mySort.bubbleSort()
print(mySort.list)
print(mySort2.list)
print(len(mySort2.list))
mySort3 = Sort()
for i in mySort2.list:
mySort3.insertionSort(i)
print(mySort3.list)
f = open("C:\Temp\sort.txt","w")
for a in mySort.list:
f.write(str(a))
f.write("\n")
f.close()
class Sort:
list = []
lower = 0
upper = 0
def __init__(self):
self.list = []
def bubbleUp(self):
i = self.lower
while i < self.upper:
if self.list[i] > self.list[i+1]:
s = self.list[i]
self.list[i] = self.list[i+1]
self.list[i+1] = s
i = i + 1
self.upper = self.upper - 1
def bubbleDown(self):
i = self.upper
while i > self.lower:
if self.list[i] < self.list[i-1]:
s = self.list[i]
self.list[i] = self.list[i-1]
self.list[i-1] = s
i = i - 1
self.lower = self.lower + 1
def bubbleSort(self):
self.lower = 0
self.upper = len(self.list) - 1
while self.lower < self.upper:
self.bubbleUp()
self.bubbleDown()
def copylist(self, source):
self.list = []
for i in source.list:
self.list.append(i)
def insertionSort(self, source):
if len(self.list) == 0:
self.list.append(source)
return
start = 0
end = len(self.list)-1
while end > start:
mid = (end - start) // 2 + start
if self.list[mid] < source:
start = mid + 1
else:
end = mid
if self.list[start] < source:
self.list.insert(start+1, source)
else:
self.list.insert(start, source)
mySort = Sort()
mySort2 = Sort()
for i in range(0,1000):
mySort.list.append(random.randint(0,1000000))
mySort2.copylist(mySort)
mySort.bubbleSort()
print(mySort.list)
print(mySort2.list)
print(len(mySort2.list))
mySort3 = Sort()
for i in mySort2.list:
mySort3.insertionSort(i)
print(mySort3.list)
f = open("C:\Temp\sort.txt","w")
for a in mySort.list:
f.write(str(a))
f.write("\n")
f.close()