现有一组数据:1.11 1.1 5.2.1.3 5.2.2 2.3.6 3.3.6 2.3 3.4
求倒叙排序! 有没有简单高效的代码 。
求倒叙排序! 有没有简单高效的代码 。
解决方案 »
- 使用nutch抓取别人网站主要实现什么需求
- java打印html问题求助
- 页面跳转问题
- java求解链接地址在http://topic.csdn.net/u/20101229/11/7c94d0d8-4618-4e5e-9fee-328acf930
- java 应用程序连接数据库
- 请教高手j2ee中对数据库访问的封装
- 100点求助:tomcat在那里下载?
- look for the expert in java
- 为什么越来越多的用户会转移到J2EE阵营中去
- 关于mysql的一个题目
- spring boot与spring mvc的关系
- Echarts做了一个柱状图,要求实现:点击其中一个柱子,出现新的一个柱状图
public static void main(String[] args) {
double arr[] = {1.11, 1.1, 5.213, 5.22, 2.36, 3.36, 2.3, 3.4};
Arrays.sort(arr);
for (int i = arr.length-1; i >=0; i--) {
System.out.print(arr[i]+" ");
}
}5.22 5.213 3.4 3.36 2.36 2.3 1.11 1.1
reverse只是把原来的顺序逆反,并不能排序;
double arr[] = {1.11, 1.1, 5.213, 5.22, 2.36, 3.36, 2.3, 3.4};
Arrays.sort(arr);
for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
double temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
String [] a = {"1.11","1.1","5.2.1.3","5.2.2","2.3.6","3.3.6","2.3","3.4"};
quicksort(a,0,7);
System.out.println(Arrays.toString(a));
}
static void quicksort(String[] a, int low, int high){
if (low>=high){
return;
}
int i = low -1;
int j = low;
while(j<high){
if(a[j].compareTo(a[high])>0){
String t = a[j];
a[j] = a[i+1];
a[i+1] = t;
++i;
}
++j;
}
String t = a[high];
a[high] = a[i+1];
a[i+1] = t;
++i;
quicksort(a, low, i-1);
quicksort(a,i+1,high);
}
}输出结果是[5.2.2, 5.2.1.3, 3.4, 3.3.6, 2.3.6, 2.3, 1.11, 1.1]