Символы в переменной типа bool и в условии - C#
Формулировка задачи:
что обозначают третья и четвёртая строки в данном куске кода?
это часть пирамидальной сортировки
for (i = 0; i < array.Length; ++i)
{
bool move = (array[i] << shift) >= 0;
if (shift == 0 ? !move : move)
array[i - j] = array[i];
else // move the 1's to tmp
tmp[j++] = array[i];
}static void RadixSort(int[] array)
{
int i, j;
int[] tmp = new int[array.Length];
for (int shift = 31; shift > -1; --shift)
{
j = 0;
for (i = 0; i < array.Length; ++i)
{
bool move = (array[i] << shift) >= 0;
if (shift == 0 ? !move : move) // shift the 0's to old's head
array[i - j] = array[i];
else // move the 1's to tmp
tmp[j++] = array[i];
}
Array.Copy(tmp, 0, array, array.Length - j, j);
}
}Решение задачи: «Символы в переменной типа bool и в условии»
textual
Листинг программы
bool result; if (shift == 0) result = !move; else result = move;