我该如何将顺序从升序反转为降序?我有点困惑,因为我不能使用 array.reverse 等,因为在我们的测试中我们不允许使用 java 内置方法。这是一个无赖,arrays.sort 是惊人的。但到目前为止,它确实按升序打印。我对编码和这个网站相对较新,所以如果我的格式不好。我很抱歉。
public static int[] sort(int a, int b, int c) {
int[] j = {a, b ,c};
int i, k, temp = 0;
for(i = 0; i < j.length; i++) {
for(k = i + 1; k < j.length; k++) {
temp = 0;
if(j[i] > j[k]) {
temp = j[i];
j[i] = j[k];
j[k] = temp;
}
}
}
}
public static void main (String[] args) {
System.out.println(Arrays.toString((sort(6,3,11))));
最佳答案
只需切换这一行:
if(j[i] > j[k]) {
对此:
if(j[i] < j[k]) {
这是因为在现有代码中,如果第一个元素较大,则需要交换元素(从而将较大的元素移动到列表中的后面)。
当您使用第二个代码片段时,如果第一个代码片段较小,它会交换元素,从而将较小的元素移动到列表中的后面。
关于java - 反转数组打印的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54524680/