比如我有一个字符串数组,里面有 {01,02,03,C3,C5,08,C6}
虽然有数组函数sort但是不知道什么原因的放到服务器就会出错。现在寻求这种排序的方法
虽然有数组函数sort但是不知道什么原因的放到服务器就会出错。现在寻求这种排序的方法
解决方案 »
- 如何仅知道class名,取得包括package的全名?
- JAVA调用DLL的一个问题,请高手指教!
- 深入java虚拟机中的一个基础问题
- Eclipse 提供CVS API吗?
- Java新手入门的30个基本概念[2]
- struts1.0和struts2.0 混合使用
- socket 线程 同步问题 求助大侠(急)
- 哪里有关于BasicTableUI的详细说明介绍,最好有实例说明??谢谢
- 求助:JBuilder8 中怎样设计把一个目录结构Copy到目标位置?
- import javax.swing.*;import java.awt.*;什么区别?
- spring2.5教学
- 和swt对比,Twaver的优点?
class QuickSort{
public static void sort(int[] table,int i,int j){
int low = i;
int high = j;
if(i<j){
int temp = table[i];
while(i<j){
while(i<j&&table[j]>temp)j--;
if(i<j){table[i]=table[j];i++;}
while(i<j&&table[i]<=temp)i++;
if(i<j){table[j]=table[i];j--;}
}
table[i]=temp;
sort(table,low,i-1);
sort(table,i+1,high);
}
}
//归并排序
class MergeSort{
//两路归并算法
public static void merge(int[] source,int[]dest,int left,int mid,int right){
int i=left,k=left,j=mid+1;
while(i<=mid&&j<=right){
if(source[i]<=source[j]){
dest[k]=source[i];i++;k++;
}
else{
dest[k]=source[j];
j++;
k++;
}
}
while(i<=mid){
dest[k]=source[i];
k++;
i++;
}
while(j<=right){
dest[k]=source[j];
k++;
j++;
}
}
//一趟归并算法
public static void mergePass(int[] source,int[] dest,int len){
int i=0;
int j=source.length-1;
while(i+2*len<=source.length-1){
//注意判断条件和merge参数。
merge(source,dest,i,i+len-1,i+2*len-1);
i += 2*len;
}
if(i+len<=source.length-1){
merge(source,dest,i,i+len-1,source.length-1);
}
else while(i<=source.length-1){
dest[i]=source[i];
i++;
}
}
//真正的mergeSort
public static void mergeSort(int[] table){
int[] temp = new int[table.length];
int d = 1;
while(d<table.length){
mergePass(table,temp,d);
d*=2;
mergePass(temp,table,d);
d*=2;
}
}
Arrays.sort(a);
这样不行吗?