Как да промените стойността на две променливи без трета променлива е на разположение за всички програми

Наскоро моя стар приятел се оплаква, че не може да бъде интервюиран за програмист позиция 1C. След като научава, че той е бил помолен, помислих си. Излишно е да казвам, в положението му, щеше да ме озадачи. Макар да има нищо лошо няма работа. Точно като нещо необичайно се изисква алгоритми, вместо за кандидатстване обекти.







суап задача стойностите на променливи често се срещат в програмирането. Например, тя не може без алгоритми за сортиране. Въпреки това, има често се използва трета променлива буфер. C ++, че ще изглежда така:

Стойностите са се променили. Задачата е завършена. Така че се препоръчва. Въпреки това, има и други начини. Един от любимите ми е да се използват XOR (можете да го прочетете в уроците за други програмни езици, като C ++).







Тази техника е изискана и неразбираемо на пръв поглед. Освен това, елиминира или значително по-бавно конвенционален смяна (обмен) чрез буферни променливи.

Сега нека да променим xorom стойности на А и Б:

Този метод позволява лесно да се изпълни задачата. По някаква причина, много хора дори не знаят, че начина, по който да се реши този проблем.

Всичко е добре, но не по-1C XOR. Разработчиците са решили, че не е необходимо. Е, Бог да го благослови. Ние ще решим по друг начин.

Както можете да видите, проста математика опростява живота ни. Няма нищо сложно тук. Между другото, тъй като може да се направи и на други езици.

Работодателят иска да бъде сигурен, че той има добър работник. Следователно, такъв конфликт може да възникне. Не се страхувайте да използвате вашата логика -reshayte, колкото си мислиш за добре.

Аз, от своя страна, се опитват да разберат всички видове трудни въпроси към вас в този блог.