| a | b | |
|---|
| 14 | 14 | | int left_boundary = start_index; |
|---|
| 15 | 15 | | int right_boundary = end_index; |
|---|
| 16 | 16 | | |
|---|
| ... | |
|---|
| 17 | | - | while (left_boundary < right_boundary) { |
|---|
| 17 | | - | while (pivot < array[right_boundary] && right_boundary > left_boundary) { |
|---|
| 17 | | - | right_boundary--; |
|---|
| 17 | | - | } |
|---|
| 17 | + | while (left_boundary < right_boundary) { |
|---|
| 17 | + | while (pivot < array[right_boundary] && right_boundary > left_boundary) { |
|---|
| 17 | + | right_boundary--; |
|---|
| 17 | + | } |
|---|
| 17 | + | |
|---|
| 17 | + | swap(array[left_boundary], array[right_boundary]); |
|---|
| ... | |
|---|
| 21 | 21 | | |
|---|
| ... | |
|---|
| 22 | | - | swap(array[left_boundary], array[right_boundary]); |
|---|
| 22 | + | while (pivot >= array[left_boundary] && left_boundary < right_boundary) { |
|---|
| 22 | + | left_boundary++; |
|---|
| 22 | + | } |
|---|
| 22 | + | |
|---|
| 22 | + | swap(array[right_boundary], array[left_boundary]); |
|---|
| 22 | + | } |
|---|
| ... | |
|---|
| 23 | 23 | | |
|---|
| ... | |
|---|
| 24 | | - | while (pivot >= array[left_boundary] && left_boundary < right_boundary) { |
|---|
| 24 | | - | left_boundary++; |
|---|
| 24 | | - | } |
|---|
| 24 | | - | |
|---|
| 24 | | - | swap(array[right_boundary], array[left_boundary]); |
|---|
| 24 | | - | } |
|---|
| 24 | | - | |
|---|
| 24 | | - | return left_boundary; |
|---|
| 24 | + | return left_boundary; |
|---|
| ... | |
|---|
| 32 | 32 | | } |
|---|
| 33 | 33 | | |
|---|
| 34 | 34 | | void quicksort(vector<int>& array, int start_index, int end_index) |
|---|
| ... | |
|---|