【发布时间】:2021-10-01 07:18:34
【问题描述】:
我不明白为什么奇怪=!这里使用了奇数,它的用途是奇数=!假或奇=!真,奇==假??
int [] res = new int[n];
Arrays.sort(arr);
boolean odd=false;
int t=0, k=n-1;
for(int i=0; i<n; i++)
{
if(odd)
{
res[i] = arr[k];
k--;
}
else
{
res[i]=arr[t];
t++;
}
**odd =! odd;**
}
for(int i=0; i<n; i++)
{
arr[i]=res[i];
}
【问题讨论】:
-
它将
odd设置为与其先前值相反的值。 -
odd = !odd表示您反转布尔标志。就像你说的“将一个与odd相反的值分配给odd本身” -
一个布尔变量只能有两个值,真或假。所以设置 ```odd = !odd;`` 只是将奇数设置为另一个。