Skip to content

Commit

Permalink
fixed insertionsort in test10 and improved code style in test2
Browse files Browse the repository at this point in the history
  • Loading branch information
Okan Yilmaz committed Oct 4, 2021
1 parent e89de72 commit d34f9a2
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 22 deletions.
23 changes: 14 additions & 9 deletions test10/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ def bubblesort(self):
while last > 0:
for i in range(last):
if self.blist[i] > self.blist[i+1]:
temp = self.blist[i]
self.blist[i] = self.blist[i+1]
self.blist[i+1] = temp
self.blist[i], self.blist[i+1] = self.blist[i+1], self.blist[i]
last = last - 1
return self.blist

Expand All @@ -50,7 +48,7 @@ def insertionsort(self):
mindex = i
if(mindex != first):
self.ilist.pop(mindex)
self.ilist.insert(0,min)
self.ilist.insert(first,min)
first = first + 1

return self.ilist
Expand All @@ -67,15 +65,14 @@ def findminmax(self):
def bucketsort(self, k):
if(len(self)<=1): return self
min, max = self.findminmax()
bucket = []
bsize = int((max - min)/k)+1
for i in range(k):
bucket.append([])
bucket = [[] for i in range(k)]
for each in self:
bucket[int((each-min)/bsize)].append(each)

for i in range(k):
alist = slist(bucket[i])
for abuck in bucket:
alist = slist(abuck)
# print(f"bucket={abuck} alist={alist} sorted={alist.insertionsort()}")
self.bclist.extend(alist.insertionsort())

return self.bclist
Expand Down Expand Up @@ -165,3 +162,11 @@ def mergesort(list):
print("Merge sorted list = ", mergesort(al4))
print("Bucket sorted list = ", al4.bucketsort(2))

al5 = slist([1, 2, 4, 12, -1, 5, 4])

print("\nOriginal list = ", al5)
print("Bubble sorted list = ", al5.bubblesort())
print("Insertion sorted list = ", al5.insertionsort())
print("Quick sorted list = ", quicksort(al5))
print("Merge sorted list = ", mergesort(al5))
print("Bucket sorted list = ", al5.bucketsort(2))
26 changes: 13 additions & 13 deletions test2/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,21 @@ def print_all_solutions(self):
if(self.allsols == []):
print("None")
else:
for i in range(len(self.allsols)):
for i, sol in enumerate(self.allsols):
print("Solution #{} :".format(i+1))
print(self.allsols[i])
self.print_solution(self.allsols[i])
print(sol)
self.print_solution(sol)

def print_solution(self, sol):
for _ in range((self.num*3)+4):
print(end='-')
print ("")
for i in range(self.num):
for i, asol in enumerate(sol):
print("{:2}".format("|"), end=' ')
for j in range(sol[i][1]):
for j in range(asol[1]):
print("{:2}".format("."), end=' ')
print("{:2}".format("X"), end=' ')
for j in range(sol[i][1]+1, self.num):
for j in range(asol[1]+1, self.num):
print("{:2}".format("."), end=' ')
print("{:2}".format("|"), end=' ')
print("")
Expand All @@ -107,18 +107,18 @@ def print_solution(self, sol):
def print_board(self):
if self.debug:
print("-----------------------")
for i in range(self.num):
print(" row {} = {}".format(i, self.board[i]))
for i in range(self.num):
print(" removed {} = {}".format(i, self.removed[i]))
for i, board in enumerate(self.board):
print(" row {} = {}".format(i, board))
for i, removed in enumerate(self.removed):
print(" removed {} = {}".format(i, removed))
print(" solution is {}".format(self.sol))
print("-----------------------")

def clone_board(self, board):
clone = list()
for i in range(self.num):
for j in range (self.num):
clone.append(board[i][j].copy())
for i, row in enumerate(board):
for j, cell in enumerate(row):
clone.append(cell.copy())

return clone

Expand Down

0 comments on commit d34f9a2

Please sign in to comment.