#java #swap
нормальный ли это способ дать переменным обменяться значениями без использования третьей? fst и sec в шапке обычные int переменные, пишу на java. Выглядит, будто есть неопределенность, но попробовал в пузырьке в качестве swap делать это, и сортировка прошла верно.
Ответы
Ответ 1
Неопределенности в коде нет (и я не знаю, может ли она быть вообще в синтаксически правильном коде на java). При условии, что fst и sec -- примитивные числовые типы, этот код действительно осуществляет обмен значений. Другое дело, что это может быть неочевидно и может быть понято неправильно, т.е. код не является неопределенным, но является непрозрачным. Читаемость, ясность кода -- в подавляющем большинстве случаев важнее, чем его эффективность. К тому же я не думаю, что у такого кода есть преимущество в эффективности перед традиционным int tmp = a; a = b; b = tmp; так что я бы не стал так писать. И я бы не пришел в восторг и не одобрил бы автора, если бы мне пришлось такое читать.
Комментариев нет:
Отправить комментарий