Skip to content

Commit 3190dd0

Browse files
committed
Fixed highest_index Parameter.
1 parent e144aeb commit 3190dd0

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

sorting.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
test = False
55

6+
67
class Array:
78

89
full_array = None
@@ -18,17 +19,18 @@ def set_all(self, values):
1819
Array.full_array[self.lower_index + i] = values[i]
1920
self.plot()
2021

21-
def __init__(self, values, lower_index=0, higher_index=-1):
22+
def __init__(self, values, lower_index=0):
2223
self.lower_index = lower_index
23-
self.higher_index = len(values) if higher_index == -1 else higher_index
2424
self.values = list(values)
2525

2626
if Array.full_array == None:
2727
Array.full_array = list(values)
28+
self.plot()
2829

2930
def swap(self, index1, index2):
3031
self.values[index2], self.values[index1] = self.values[index1], self.values[index2]
31-
Array.full_array[self.lower_index + index2], Array.full_array[self.lower_index + index1] = Array.full_array[self.lower_index + index1], Array.full_array[self.lower_index + index2]
32+
Array.full_array[self.lower_index + index2], Array.full_array[self.lower_index +
33+
index1] = Array.full_array[self.lower_index + index1], Array.full_array[self.lower_index + index2]
3234
self.plot()
3335

3436
def set(self, index, num):
@@ -121,9 +123,7 @@ def heapify(nums, heap_size, root_index):
121123
heapify(nums, i, 0)
122124

123125

124-
def merge_sort(nums, lower_index=0, higher_index=-1): # n * logn
125-
if higher_index == -1:
126-
higher_index = lower_index + nums.get_len()
126+
def merge_sort(nums, lower_index=0): # n * logn
127127
def merge(left_list, right_list):
128128
sorted_list = []
129129
left_list_index = right_list_index = 0
@@ -166,14 +166,14 @@ def merge(left_list, right_list):
166166
mid = nums.get_len() // 2
167167

168168
# Sort and merge each half
169-
left_list = merge_sort(Array(nums.values[:mid], lower_index, mid))
170-
right_list = merge_sort(Array(nums.values[mid:], mid, nums.get_len()), mid, nums.get_len())
169+
left_list = merge_sort(Array(nums.values[:mid], lower_index))
170+
right_list = merge_sort(Array(nums.values[mid:], mid), mid)
171171

172172
nums.set_all(left_list + right_list)
173173

174174
# Merge the sorted lists into a new one
175175
sorted_list = merge(left_list, right_list)
176-
176+
177177
nums.set_all(sorted_list)
178178
return sorted_list
179179

0 commit comments

Comments
 (0)