【发布时间】:2011-02-17 09:08:31
【问题描述】:
我有一个二维字符串数组,由 as 之类的值组成
{ "Home","0.1256784"
"Contact","-0.56789"
"Refer","1.36589"
"Next","3.678456" }
我必须根据第二个元素(双值)对数组进行排序,并获得类似的结果
{"Contact","-0.56789"
"Home","0.1256784"
"Refer","1.36589"
"Next","3.678456" }
我使用了一些冒泡排序代码对其进行排序并且它有效,但是我必须知道如何以更快的方式使排序比我的排序更有效。我尝试了一些之前发布的代码来解决与我的问题相关的问题但我无法完成任务。
我的代码:
String tt="",tk="";
for(int i=1;i<myarray.length;i++)
{
for(int j=1;j<myarray.length-1;j++)
{
if(Double.parseDouble(myarray[i][1])<Double.parseDouble(myarray[j][1]))
{
tk=myarray[i][1];
tt=myarray[i][0];
myarray[i][1]=myarray[j][1];
myarray[i][0]=myarray[j][0];
myarray[j][1]=myarray;
myarray[j][0]=myarray;
}
}
}
【问题讨论】:
-
尝试合并排序,它在 O(n log n) 中运行,而不是像冒泡排序那样在 O(n^2) 中运行:en.wikipedia.org/wiki/Merge_sort
标签: java sorting multidimensional-array