(self, low, mid, high)
| 16 | self.merge(low, mid, high) |
| 17 | |
| 18 | def merge(self, low, mid, high): |
| 19 | b = [] |
| 20 | i = low |
| 21 | j = mid + 1 |
| 22 | |
| 23 | while i <= mid and j <= high: |
| 24 | if self.values[i] <= self.values[j]: |
| 25 | b.append(self.values[i]) |
| 26 | i += 1 |
| 27 | else: |
| 28 | b.append(self.values[j]) |
| 29 | j += 1 |
| 30 | |
| 31 | while i <= mid: |
| 32 | b.append(self.values[i]) |
| 33 | i += 1 |
| 34 | |
| 35 | while j <= high: |
| 36 | b.append(self.values[j]) |
| 37 | j += 1 |
| 38 | |
| 39 | for index, val in enumerate(b): |
| 40 | self.values[low + index] = val |