如何让字符串排序?(高分求解) 如果是这样的“010101”,“010201”,“010203”那么呢给所有字段前加1,然后转换成int形然后用二差数等确定序列 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.util.Arrays.sort(Object[] a, Comparator c) java.util.Arrays.sort(Object[] a, Comparator c) 何必要自己亲自去设计算法呢用现成类啊 ArrayList list=new ArrayList(); list.add("010101"); list.add("010003"); list.add("010201"); Collections.sort(list);可以排序完整测试代码为//Test.javaimport java.util.*;public class Test{ public static void main(String[] args){ ArrayList list=new ArrayList(); list.add("010101"); list.add("010003"); list.add("010201"); Collections.sort(list); for(int i=0;i<list.size();i++){ System.out.println((String)list.get(i)); } }} kypfos(深圳不是我的家) 的方法实在是高明 ! 学习ing !楼主注意在取出数据的时候向下转型,因为ArrayList存储的只能是Object对象! public class AlphabeticComparator implements Comparator { public int compare(Object o1, Object o2) { String s1 = (String)o1; String s2 = (String)o2; return s1.toLowerCase().compareTo(s2.toLowerCase()); }} import java.io.*;public class SortThread extends Thread { private PrintWriter out = null; private BufferedReader in = null; public SortThread(PrintWriter out, BufferedReader in) { this.out = out; this.in = in; } public void run() { int MAXWORDS = 50; if (out != null && in != null) { try { String[] listOfWords = new String[MAXWORDS]; int numwords = 0; while ((listOfWords[numwords] = in.readLine()) != null) numwords++; quicksort(listOfWords, 0, numwords-1); for (int i = 0; i < numwords; i++) out.println(listOfWords[i]); out.close(); } catch (IOException e) { System.err.println("SortThread run: " + e); } } } private static void quicksort(String[] a, int lo0, int hi0) { int lo = lo0; int hi = hi0; if (lo >= hi) return; String mid = a[(lo + hi) / 2]; while (lo < hi) { while (lo<hi && a[lo].compareTo(mid) < 0) lo++; while (lo<hi && a[hi].compareTo(mid) > 0) hi--; if (lo < hi) { String T = a[lo]; a[lo] = a[hi]; a[hi] = T; lo++; hi--; } } if (hi < lo) { int T = hi; hi = lo; lo = T; } quicksort(a, lo0, lo); quicksort(a, lo == lo0 ? lo+1 : lo, hi0); }} yoken(雨泉) 的方法要好的多个人意见 在java中,最简单的方法排序字符串。例如,“010101”,“010201”,“010203”yoken(雨泉) 的方法根本就是多余!!JAVA里面 Arrays.sort 以及 Collections.sort是使用的改进过的快速排序算法!!快速排序算法到现在还是最快的排序算法啊!何必自己实现?? 数据库高手帮把这个SQL转为HQL,谢谢了 关于checkbox的复选框问题 关于jquery ajax与struts2的问题。 空指针问题,百思不得其解 用过Dtree的大哥进来指点一下 JCreate 开发jsp程序 jsp 调用 xsl文档 来显示 xml.[求助] IntelliJ IDEA光标有时候位置不对咋办? javascript无法提示 bean validation跟springmvc里不进行验证,BindingResult的errors一直是0 100分求助!怎么上传JSP网页 谁能给说一下ejb那套体系中通过实体bean读数据比微软ado那种直接sql数据好在哪里
用现成类啊
ArrayList list=new ArrayList();
list.add("010101");
list.add("010003");
list.add("010201");
Collections.sort(list);
可以排序完整测试代码为//Test.javaimport java.util.*;public class Test{
public static void main(String[] args){
ArrayList list=new ArrayList();
list.add("010101");
list.add("010003");
list.add("010201");
Collections.sort(list);
for(int i=0;i<list.size();i++){
System.out.println((String)list.get(i));
}
}
}
public int compare(Object o1, Object o2) {
String s1 = (String)o1;
String s2 = (String)o2;
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
}
private PrintWriter out = null;
private BufferedReader in = null; public SortThread(PrintWriter out, BufferedReader in) {
this.out = out;
this.in = in;
} public void run() {
int MAXWORDS = 50; if (out != null && in != null) {
try {
String[] listOfWords = new String[MAXWORDS];
int numwords = 0;
while ((listOfWords[numwords] = in.readLine()) != null)
numwords++;
quicksort(listOfWords, 0, numwords-1);
for (int i = 0; i < numwords; i++)
out.println(listOfWords[i]);
out.close();
} catch (IOException e) {
System.err.println("SortThread run: " + e);
}
}
} private static void quicksort(String[] a, int lo0, int hi0) {
int lo = lo0;
int hi = hi0; if (lo >= hi)
return; String mid = a[(lo + hi) / 2];
while (lo < hi) {
while (lo<hi && a[lo].compareTo(mid) < 0)
lo++;
while (lo<hi && a[hi].compareTo(mid) > 0)
hi--;
if (lo < hi) {
String T = a[lo];
a[lo] = a[hi];
a[hi] = T;
lo++;
hi--;
}
}
if (hi < lo) {
int T = hi;
hi = lo;
lo = T;
}
quicksort(a, lo0, lo);
quicksort(a, lo == lo0 ? lo+1 : lo, hi0);
}
}
例如,“010101”,“010201”,“010203”yoken(雨泉) 的方法根本就是多余!!
JAVA里面 Arrays.sort 以及 Collections.sort
是使用的改进过的快速排序算法!!
快速排序算法到现在还是最快的排序算法啊!
何必自己实现??