sorted = !sorted的含义
代码如下
for (bool sorted = false; sorted = !sorted; n1--) {
for (int i = 1; i < n1; i++) {
if (A[i - 1] > A[i]) {
swap(A[i - 1], A[i]);
sorted = false;
}
}
}
可以看到,这里用的是但个等号,表示赋值。而在for循环中当前位置应该为一个判断语句。即判断真假,也就是true或者false。
那么这个语句的意思应该是将!sorted的值赋给sorted,接下来判断当前boolean类型的sorted的值为true还是false。
还可以写成这样,亲测,效果相同。
这是代码
for (bool sorted = false; sorted == false; n1--) {
sorted = true;
for (int i = 1; i < n1; i++) {
if (A[i - 1] > A[i]) {
swap(A[i - 1], A[i]);
sorted = false;
}
}
cout << 1;
}
咳咳,如果我没猜错的话,你是不是在听邓俊晖的课吧~