Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. package csci151;
  2.  
  3. import stackproj.adt.Deque;
  4. import stackproj.impl.LinkedListDeque;
  5.  
  6. public class MergeSort {
  7. public static Deque<Integer> merge(Deque<Integer> d1, Deque<Integer> d2) {
  8. Deque result = new LinkedListDeque();
  9. int l1=d1.getSize();
  10. int l2=d2.getSize();
  11. int l=l1+l2;
  12. for (int i=0; i<l; i++){
  13. int c1=100000, c2=100000;
  14. if (d1.getSize()>0) {
  15. try {
  16. c1 = d1.popFromFront();
  17. } catch (Exception ex) {
  18. System.out.println(ex.getMessage());
  19. }
  20. }
  21. if (d2.getSize()>0) {
  22. try {
  23. c2= d2.popFromFront();
  24. } catch (Exception ex) {
  25. System.out.println(ex.getMessage());
  26. }
  27. }
  28. //int n1=0,n2=0;
  29. if(c1>=c2){
  30. result.pushToBack(c2);
  31. d1.pushToFront(c1);
  32. }else {
  33. result.pushToBack(c1);
  34. d2.pushToFront(c2);
  35. }
  36.  
  37. }
  38. return result;
  39. /* assuming d1 and d2 are sorted, merge their contents
  40. into a single sorted Deque, and return it */
  41.  
  42. }
  43. public static void main(String[] args){
  44. Deque q = new LinkedListDeque();
  45. Deque c =new LinkedListDeque();
  46. for (int i=0; i<3; i++){
  47. q.pushToBack(i); // 0 1 2
  48. }
  49. for (int i=2; i<5; i++){
  50. c.pushToBack(i);//2 3 4
  51. }
  52.  
  53. System.out.println(q);
  54. System.out.println(c);
  55. System.out.println(merge(q,c));
  56.  
  57. }
  58.  
  59.  
  60.  
  61. public static Deque<Integer> mergeSort(Deque<Integer> deq) {
  62. /* Step 0: base case???
  63. Step 1: split deq into two Deques of relatively equal size
  64. Step 2: pass both of these Deques into mergeSort
  65. Step 3: pass the resulting Deques into merge, and return the result
  66. */
  67. return null;
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement