Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. public SLList sublist(int start, int end) {
  2. if (start == end) {
  3. return NIL;
  4. } else {
  5. return new SLList(nth(start), sublist(start+1,end));
  6. }
  7. }
  8.  
  9. public SLList merge(SLList b) {
  10. if (b == NIL) {
  11. return this;
  12. } else if (this == NIL) {
  13. return b;
  14. } else if ((int)this.item <= (int)b.item) {
  15. return new SLList(this.item, this.next.merge(b));
  16. } else {
  17. return new SLList(b.first(), this.merge(b.rest()));
  18. }
  19. }
  20.  
  21. public SLList mergesort() {
  22. //System.out.println("61229");
  23.  
  24. int sli = this.length();
  25. if (sli <= 1) {
  26. return this;
  27. }
  28. else {
  29. int middle = sli/2;
  30. SLList left = this.sublist(0, middle);
  31. SLList right = this.sublist(middle, sli);
  32. left = left.mergesort();
  33. right = right.mergesort();
  34. return left.merge(right);
  35. }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement