如何检查数组是否已经排序

新手上路,请多包涵

那么如何制作这样的逻辑

int[] arr = {2, 5, 3};

if (/* arr is sorted */)
    ....
else
    ...

方法 Array.sort 无效是不好的

原文由 OxomHuK 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 438
1 个回答

您不需要对数组进行排序来检查它是否已排序。遍历每对连续的元素并检查第一个是否小于第二个;如果您发现一对不正确,则数组不会排序。

 boolean sorted = true;

for (int i = 0; i < arr.length - 1; i++) {
    if (arr[i] > arr[i+1]) {
        sorted = false;
        break;
    }
}

原文由 arshajii 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题