Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void IntArray:: sort_QuickSort(int first, int last)
- {
- int low = first;
- int high = last;
- int mid = arr[(low + high) / 2]; // Välj mittvärdet som pivotelement
- do
- {
- // Gå från början och sök första värdet som är större än x
- while (arr[low] < mid) { low++; }
- // Gå från slutet och sök första värdet som är mindre än x
- while (arr[high] > mid) { high--; }
- if (low <= high)
- {
- swap(arr[low], arr[high]);
- low++;
- high--;
- }
- } while (low <= high); // gå igenom vektorn medans low <= high
- // "Sortera" vänster halva om high inte nått vektorns första element
- if (0 < high) sort_QuickSort(first, high);
- // "Sortera" höger halva om low inte nått vektorns sista element
- if (low < last) sort_QuickSort(low, last);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement