Advertisement
Guest User

Untitled

a guest
Jan 31st, 2016
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. private void quickSort(List<Map<String,Integer>> list){
  2. sort(list,0,list.size()-1);
  3. }
  4.  
  5. private void sort(List<Map<String,Integer>> list, int from, int to){
  6. if(from <to){
  7. int pivot=from;
  8. int left=from+1;
  9. int right =to;
  10.  
  11. Map<String, Integer> mapValue=list.get(pivot);
  12. // Map.Entry<String,Integer> entry=mapValue.entrySet().iterator().next();
  13.  
  14. int pivotValue=0;
  15.  
  16. for (Map.Entry<String, Integer> entryPivot: mapValue.entrySet()){
  17. pivotValue=entryPivot.getValue();
  18. }
  19. // int pivotValue=entry.getValue();
  20.  
  21. while(left<=right){
  22. // left <= to -> limit protection
  23. Map<String, Integer> mapValueLeft=list.get(left);
  24. // Map.Entry<String,Integer> entryLeft= mapValueLeft.entrySet().iterator().next();
  25. int valueLeft=0;
  26. int valueRight=0;
  27. for(Map.Entry<String,Integer> entryLeft: mapValueLeft.entrySet()){
  28. valueLeft= entryLeft.getValue();
  29. }
  30. while(left <=to && pivotValue >= valueLeft){
  31. left++;
  32. }
  33. // right > from -> limit protection
  34. Map<String, Integer> mapValueRight=list.get(right);
  35. // Map.Entry<String,Integer> entryRight= mapValueRight.entrySet().iterator().next();
  36. for(Map.Entry<String,Integer> entryRight: mapValueRight.entrySet()){
  37. valueRight= entryRight.getValue();
  38. }
  39. while ((right > from && pivotValue < valueRight)){
  40. right --;
  41. }
  42. if (left < right){
  43. Collections.swap(list,left,right);
  44. }
  45. }
  46. Collections.swap(list,pivot, left -1);
  47. sort(list, from, right -1);
  48. sort(list, right + 1, to);
  49. }
  50. }
  51.  
  52. 01-31 10:53:23.095 1378-1378/usa.com.myapp E/AndroidRuntime: FATAL EXCEPTION: main
  53. Process: usa.com.myapp, PID: 1378
  54. java.lang.StackOverflowError
  55. at java.util.HashMap$EntryIterator.<init>(HashMap.java:841)
  56. at java.util.HashMap$EntryIterator.<init>(HashMap.java:841)
  57. at java.util.HashMap.newEntryIterator(HashMap.java:909)
  58. at java.util.HashMap$EntrySet.iterator(HashMap.java:954)
  59. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:369)
  60. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:401)
  61. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:400)
  62. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:401)
  63. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:400)
  64. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:400)
  65. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:401)
  66. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:401)
  67. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:401)
  68. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:401)
  69. at usa.com.myapp.fragment.MyFragment.sort(MyFragment.java:400)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement