« Homepage erstellen | Main| Bubble Sort in R »

In eigener Sache

10
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()

Mach einen Kommentar

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2