Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. public static void bubbleSortDLL(DLL<Integer> list) {
  2.  
  3. boolean sorted = false;
  4.  
  5. for(int i=0; i<list.length() && sorted == false; i++) {
  6.  
  7. sorted = true;
  8.  
  9. for(DLLNode<Integer> tmp = list.getFirst(); tmp.succ != null; tmp = tmp.succ) {
  10.  
  11. if(tmp.element > tmp.succ.element) {
  12. DLLNode<Integer> n1 = tmp;
  13. DLLNode<Integer> n2 = tmp.succ;
  14.  
  15. if(n1 == list.getFirst()) {
  16.  
  17. n1.succ = n2.succ;
  18. n2.succ.pred = n1;
  19.  
  20. n2.succ = n1;
  21. n1.pred = n2;
  22. n2.pred = null;
  23.  
  24. list.setFirst(n2);
  25. sorted = false;
  26. }
  27.  
  28. else if(n2 == list.getLast()) {
  29.  
  30. n1.pred.succ = n2;
  31. n2.pred = n1.pred;
  32.  
  33. n1.pred = n2;
  34. n2.succ = n1;
  35. n1.succ = null;
  36.  
  37. list.setLast(n1);
  38. tmp = tmp.pred;
  39. sorted = false;
  40. }
  41.  
  42. else {
  43.  
  44. n1.pred.succ = n2;
  45. n2.pred = n1.pred;
  46.  
  47. n1.pred = n2;
  48. n2.succ.pred = n1;
  49. n1.succ = n2.succ;
  50. n2.succ = n1;
  51.  
  52. sorted = false;
  53. }
  54. }
  55.  
  56. }
  57.  
  58. }
  59.  
  60. DLLNode<Integer> t = list.getFirst();
  61. while(t != null) {
  62. System.out.print(t + " ");
  63. t = t.succ;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement