Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename T>
- int CTablica<T>::hoarePartition(std::vector<T>& Tab, int leftIndex, int rightIndex)
- {
- T x = Tab[leftIndex];
- int l, r;
- l = leftIndex - 1;
- r = rightIndex + 1;
- while (true) {
- while (true) {
- l++;
- amountOfComparisons++;
- if (Tab[l] >= x)
- break;
- }
- while (true) {
- r--;
- amountOfComparisons++;
- if (Tab[r] <= x)
- break;
- }
- if (l >= r)
- return r;
- std::swap(Tab[l], Tab[r]);
- amountOfSwaps++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement