Advertisement
Guest User

Untitled

a guest
Feb 13th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. void IntArray:: sort_QuickSort(int first, int last)
  2. {
  3. int low = first;
  4. int high = last;
  5. int mid = arr[(low + high) / 2]; // Välj mittvärdet som pivotelement
  6. do
  7. {
  8. // Gå från början och sök första värdet som är större än x
  9. while (arr[low] < mid) { low++; }
  10.  
  11. // Gå från slutet och sök första värdet som är mindre än x
  12. while (arr[high] > mid) { high--; }
  13.  
  14. if (low <= high)
  15. {
  16. swap(arr[low], arr[high]);
  17. low++;
  18. high--;
  19. }
  20. } while (low <= high); // gå igenom vektorn medans low <= high
  21.  
  22. // "Sortera" vänster halva om high inte nått vektorns första element
  23. if (0 < high) sort_QuickSort(first, high);
  24. // "Sortera" höger halva om low inte nått vektorns sista element
  25. if (low < last) sort_QuickSort(low, last);
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement