3 回答
TA贡献1853条经验 获得超6个赞
int[] colArray = new int[] { 2, 9, 4, 5};
int n = colArray.length;
int temp = 0;
for (int i = 0; i < n; i++) {
for (int j = 1; j < (n - i); j++) {
if (colArray[j - 1] > colArray[j]) {
temp = colArray[j - 1];
colArray[j - 1] = colArray[j];
colArray[j] = temp;
}
}
}
Arrays.stream(colArray).forEach(data -> System.out.println(data));
TA贡献1786条经验 获得超13个赞
只需更换
if (colArray[j - 1] < colArray[j]) {
...
}
和:
if (colArray[j - 1] > colArray[j]) {
...
}
> 代替 <
TA贡献1777条经验 获得超10个赞
首先,你的数组不是 2D :),只是因为数组的每个元素都有一个像 Arr[0] 这样的数字被调用,并且它的值是例如 5 它并不意味着它的 2D。
但是为了将数组按降序排序,您可以使用以下代码:
int n = intArray.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(intArray[j-1] < intArray[j]){
//swap the elements!
temp = intArray[j-1];
intArray[j-1] = intArray[j];
intArray[j] = temp;
}
}
}
添加回答
举报