Advertisement
Guest User

agataa77

a guest
Apr 24th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. public List sort(List list) {
  2. numOfCompar=0;
  3. numOfMoves=0;
  4. int size = list.size();
  5. int lastSwap = size-1;
  6. int firstSwap = 0;
  7. boolean swapped = false;
  8. do {
  9. int temp=0;
  10. for (int left = firstSwap; left <= (lastSwap - 1); ++left) {
  11. int right = left + 1;
  12. numOfCompar++;
  13. if (_comparator.compare(list.get(left), list.get(right)) > 0) {
  14. temp = right;
  15. swap(list, left, right);
  16. swapped = true;
  17. }
  18. }
  19. lastSwap = temp;
  20. if (!swapped)
  21. break;
  22. swapped = false;
  23. int temp2=0;
  24. for (int right = lastSwap-1; right >= firstSwap + 1; right--) {
  25. int left = right - 1;
  26. numOfCompar++;
  27. if (_comparator.compare(list.get(left), list.get(right)) > 0) {
  28. temp2 = right;
  29. swap(list, left, right);
  30. swapped = true;
  31. }
  32. }
  33. firstSwap = temp2;
  34.  
  35. }
  36. while (swapped);
  37. return list;
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement