结对人:周楠
思路:利用TreeMap实现key字典序,然后输出到LinkedList,然后用Comparator,实现字典值从大到小排序,但是key实现值相同的key字典序的想出的实现方法,但是一直错是返回null,不知所以。
程序:
1 class sort2{ 2 LinkedList<Map.Entry<String, Integer>> yy; 3 LinkedList<Map.Entry<String, Integer>> temppp; 4 5 LinkedList<Map.Entry<String, Integer>> real(LinkedList<Map.Entry<String, Integer>> ret,Iterator<Map.Entry<String, Integer>> mm, Iterator<Map.Entry<String, Integer>> mm2) 6 { 7 8 Iterator<Map.Entry<String, Integer>> tt1=mm,tt2=mm2,medter=null; 9 Map.Entry<String, Integer> temp1,temp2; 10 if(mm==null) System.out.println("mm is null"); 11 if(mm2==null) System.out.println("mm2 is null"); 12 for(;tt1.hasNext();) 13 { 14 if(tt1.hasNext()) 15 { 16 temp1=tt1.next(); 17 System.out.println("temp1 intialized"); 18 if(tt2.hasNext()) 19 { 20 temp2=tt2.next(); 21 System.out.println("temp2 intialized"); 22 23 if(temp1.getValue()<temp2.getValue()) 24 { 25 medter=tt1; 26 System.out.println("enter the inner recurisive method"); 27 yy=real(ret,tt1,tt2); 28 System.out.println("yy real time value:"+yy); 29 30 } 31 } 32 else 33 { 34 medter=tt2; 35 } 36 } 37 else 38 { 39 medter=tt1; 40 } 41 42 } 43 44 System.out.println("yy before the for, add method, return "+yy); 45 for(;mm2!=medter;) 46 { 47 if(mm2.hasNext()) 48 yy.add(mm2.next()); 49 } 50 51 System.out.println("yy returned "+yy); 52 return yy; 53 }
就是这个地方,想实现递归的, sort2里real函数是主体,但是real一直返回null,没发现原因。明天再研究,先这样吧。里面还有些调试代码。。。
贡献比:60%.
时间: 2024-10-27 01:21:11