Advertisement
Guest User

Untitled

a guest
May 6th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. void partition(T value) {
  2. Node<T> node = head;
  3.  
  4. while (node != null) {
  5. Node<T> prev = node.previous;
  6. Node<T> next = node.next;
  7.  
  8. if (node.data.compareTo(value) >= 1) {
  9. // should go to tail
  10. if (node != tail) {
  11. prev.next = node.next;
  12. next.previous = node.previous;
  13.  
  14. tail.next = node;
  15. node.previous = tail;
  16. node.next = null;
  17. tail = node;
  18. }
  19.  
  20. } else {
  21. // should go to head
  22. if (node != head) {
  23. prev.next = node.next;
  24. if (null != next) {
  25. next.previous = node.previous;
  26. }
  27.  
  28. head.previous = node;
  29. node.next = head;
  30. head = node;
  31. }
  32. }
  33.  
  34. node = next;
  35. }
  36.  
  37. head.previous = null;
  38. tail.next = null;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement