gpt4 book ai didi

java - 这些 Java 示例如何工作? (存在性和冒泡排序)

转载 作者:行者123 更新时间:2023-11-29 06:28:22 25 4
gpt4 key购买 nike

  static void eldontes() {
System.out.println("--- Choosing ---");
int[] sorozat = new int[]{1, -1, 3, 5};
boolean exists = false;
for (int i = 0; i < sorozat.length && !exists; i++) {
int elem = sorozat[i];
if (elem < 0) {
exists = true;
}
}

System.out.println("There's negative: " + exists);

首先,for 循环中的 !exists 有什么用? !exist 应该意味着 boolean 值现在为真,不是吗?所以增加我 utnil sorozat.length AND exists = true ?什么意思?

下面是这个例子:

static void buborekRendezes() {
System.out.println("--- Bubble order ---");
int[] sorozat = new int[]{9, 4, 6, 2, 3, 0, 5, 7, 8, 1};
for (int i = sorozat.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (sorozat[j] > sorozat[j + 1]) {
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
}
}
}
System.out.println(Arrays.toString(sorozat));
}

int tmp = sorozat[j];开始我真的不知道发生了什么。最后三行是做什么的?为什么tmp在代码末尾的右边?

最佳答案

for (int i = 0; i < sorozat.length && !exists; i++) {
int elem = sorozat[i];
if (elem < 0) {
exists = true;
}
}

!exists 是为了确保在找到第一个负值后立即中断循环。

根据你的下一个代码片段

for (int i = sorozat.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (sorozat[j] > sorozat[j + 1]) {
int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;
}
}
}

这是 Bubble sort 的基本工作代码in java..先看算法,再看代码会更容易理解。

int tmp = sorozat[j];
sorozat[j] = sorozat[j + 1];
sorozat[j + 1] = tmp;

这三行是​​到swap sorozat[j]sorozat[j+1]

中存在的值

关于java - 这些 Java 示例如何工作? (存在性和冒泡排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45611287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com