java - 反转数组打印的顺序
问题描述
我将如何将顺序从升序反转为降序?我有点难过,因为我不能使用 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]) {
这是因为在现有代码中,如果第一个较大,则您正在交换元素(从而将较大的元素移到列表中的后面)。
当您使用第二个代码片段时,如果第一个较小,它会交换元素,从而将较小的元素移到列表的后面。
推荐阅读
- matlab - 在 MATLAB 动画中创建沿图形移动的点
- audiokit - AKsampler 与 AKmicrophonetracker 结合使用
- angular - 服务工作者获取新版本时显示加载屏幕
- sql - Vertica REFRESH_COLUMNS 失败并出现“Join inner did not fit in memory”错误
- javascript - 正则表达式仅获取 javascript 中的最后 N 个数字
- c# - 在 Linq 查询中返回空的可枚举作为属性会导致错误
- django - Django 项目中配置错误的自定义 HTTP 错误模板 (404,500)
- python - MongoDB与Python,用于存储游戏的用户名和密码
- jenkins - Jenkins用不同的参数一一运行作业
- mongodb - $lookup : 计算的foreinField 解决方法?