Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. package day7;
  2.  
  3. public class ListUtilities {
  4.  
  5. public static IntegerList arrayToList(int[] ar) {
  6. int i = 0;
  7. IntegerList list = new IntegerList();
  8. do {
  9. list.add(ar[i]);
  10. i++;
  11. } while (i < ar.length);
  12. return list;
  13. }
  14.  
  15. public static void swap(IntegerNode i, IntegerNode j) {
  16. int temp = i.getNumber();
  17. i.setNumber(j.getNumber());
  18. j.setNumber(temp);
  19. }
  20.  
  21. public static void bubbleSort(IntegerList list) {
  22. IntegerNode node = list.getFirst();
  23. int c = 0;
  24. while (node.getNext() != null) {
  25. if (node.getNumber() > node.getNext().getNumber()) {
  26. swap(node, node.getNext());
  27. }
  28. node = node.getNext();
  29. c++;
  30. }
  31.  
  32. while (c > 1) {
  33. node = list.getFirst();
  34. for (int i = 0; i < c; i++) {
  35. if (node.getNumber() > node.getNext().getNumber()) {
  36. swap(node, node.getNext());
  37. }
  38. node = node.getNext();
  39. }
  40. c--;
  41. }
  42. }
  43.  
  44. public static void cocktailSort(IntegerList list) {
  45. IntegerNode node = list.getFirst();
  46. int c = 0;
  47. boolean swaps = true;
  48. while (node.getNext() != null) {
  49. if (node.getNumber() > node.getNext().getNumber()) {
  50. swap(node, node.getNext());
  51. swaps = false;
  52. }
  53. node = node.getNext();
  54. c++;
  55. }
  56.  
  57. while (!swaps) {
  58. swaps = true;
  59. node = list.getFirst();
  60. for (int i = 0; i < c; i++) {
  61. if (node.getNumber() > node.getNext().getNumber()) {
  62. swap(node, node.getNext());
  63. swaps = false;
  64. }
  65. node = node.getNext();
  66. }
  67. for (int i = c; i > 0; i--) {
  68. if (node.getNumber() < node.getPrev().getNumber()) {
  69. swap(node, node.getPrev());
  70. swaps = false;
  71. }
  72. node = node.getPrev();
  73. }
  74. }
  75. }
  76.  
  77.  
  78. public static void main(String[] args) {
  79. int[] ls = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
  80. IntegerList list = arrayToList(ls);
  81. list.prettyPrint();
  82. ListUtilities.bubbleSort(list);
  83. System.out.print("sorted: ");
  84. list.prettyPrint();
  85. ListUtilities.cocktailSort(list);
  86. System.out.print("sorted: ");
  87. list.prettyPrint();
  88. }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement