我将向您展示有关该问题的目的的示例。我之前拥有的数组以及排序后如何使用它:
之前:
Box Weight Priority
1 50 5
2 30 8
3 90 6
4 20 7
5 80 9
之后:
Box Weight Priority
3 90 6
5 80 9
1 50 5
2 30 8
4 20 7
我们在int矩阵中工作:
data= new int[BoxNumber][3];
排序基于第二列Weight.Am,以查找对数据数组进行排序的过程。
public void sortC(int[][] temp)
{
if (temp.length >= 2)
{
for (int i = 1; i <= temp.length - 1; i++)
{
int[] hold = temp[i];
int[] holdP = temp[i-1];
int j = i;
while (j > 0 && hold[1] < holdP[1]) // 1 represents the reference of sorting
{
hold = temp[j];
holdP = temp[j-1];
temp[j] = holdP;
temp[j-1] = hold;
j--;
}
}
}
}
sortC(data);
我尝试了这个,但不幸的是我没有找到正确的泡菜排序方法。请问有帮助吗?
使用java.util.Arrays.sort
带有自定义Comparator
。
int[][] temp = { { 1, 50, 5 }, { 2, 30, 8 }, { 3, 90, 6 },
{ 4, 20, 7 }, { 5, 80, 9 }, };
Arrays.sort(temp, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return Integer.compare(o2[1], o1[1]);
}
});
作为shmosel 下文提到的,与Java 8中,您可以使用:
Arrays.sort(temp, Comparator.comparingInt(arr -> arr[1]));
问题内容: 在Java中,我的数组中有一个数据,如下所示 我想根据第一列对其进行排序,所以我的最终数据可以像这样 第一列是格式为“ yyyy.MM.dd HH:mm”的日期,第二列是字符串。 问题答案: 根据一列 对二维数组进行排序第一列是日期格式为“ yyyy.MM.dd HH:mm”的日期,第二列是字符串。 因为您说的是二维数组,所以我假设“格式日期…”表示字符串。这是用于对String []
我在对整数二维数组进行排序的作业中陷入了死胡同。 这些指令将创建一个接受二维int数组(不一定是矩阵)的函数,并根据内部数组的总和对外部数组进行排序。换句话说,在数组的第一个索引中应该是具有最低总和的内部数组。 Example - input - int[][] array = {{2,4,1,9,9,9,9},{6,8},{7,3,6,5,1 } }; 输出数组={{6,8},{7,3,6,5,
按列对数组进行排序,就像我想在这里对最后一行上的值进行排序一样,根据排序结果,同一行中其他列上的数字也可能会发生变化 例如
问题内容: 我正在尝试根据内部数组中的特定值对我的PHP哈希表进行排序。数据结构如下所示: 我已经尝试过 ksort , sort , usort, 但是似乎没有任何作用。我正在尝试根据 名称键 向下两级进行排序。 这是我尝试使用usort的尝试: 有没有简单的方法可以做到这一点,或者我需要编写一个自定义排序功能? 问题答案: 思考,更有用和实用的 如何使用
原数据: 根据arr数组里面的price字段排序 期望得到: 麻烦各位大佬帮我看看
编辑:对于同样的问题,我尝试编写一个比较器。但它不起作用