ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 9f7d4edacc48f0d12bc8e501d349aeb0. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-9f7d4edacc48f0d12bc8e501d349aeb0. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 9f7d4edacc48f0d12bc8e501d349aeb0. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, Π° Π½Π΅ просто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄?

Π₯отя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠ»ΠΈ сайта Π²Π°ΠΆΠ½Π°, Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ выглядит ваш ΠΊΠΎΠ΄. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ машина Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ собствСнный ΠΊΠΎΠ΄, ΠΈ ΠΊΠΎΠ³Π΄Π° это врСмя наступит, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанный ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали, ΠΈΠ»ΠΈ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ сотрудничаСтС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ всС Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅ для Π½ΠΈΡ…, Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ структуру вашСго ΠΊΠΎΠ΄Π°.

НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π§Π°ΡΡ‚ΡŒ 1: Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄?

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π° ΠΌΠΎΠΉ взгляд, β€” ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π·Π°.

НапримСр, взглянСм Π½Π° этот ΠΊΠΎΠ΄:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 55248c156e1ada5ace2f4cc00c42473a. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-55248c156e1ada5ace2f4cc00c42473a. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 55248c156e1ada5ace2f4cc00c42473a. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«traverseUpUntilΒ»

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΈΠΉ элСмСнт ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ блиТайший Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удовлСтворяСт условной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст, пСрвая строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠ±Π΅ΠΉΡˆΠΈΡ… нСдостатка.

НС совсСм ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π§Π°ΡΡ‚ΡŒ 2: Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 2ac5015fbc682423616325ec10dddf5e. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-2ac5015fbc682423616325ec10dddf5e. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2ac5015fbc682423616325ec10dddf5e. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«traverseUpUntilΒ»

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ: Β«ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π» родитСля Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΏΠΎΠΊΠ° Ρƒ родитСля Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», Π° функция условия Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ trueΒ». Π£ΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ понятнСС.

Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ret (ΠΈΠ»ΠΈ returnValue ), Π½ΠΎ это довольно плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Если Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚Π΅ свои Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся. Однако ΠΈΠ½ΠΎΠ³Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈ слоТными, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ большой ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. Π’ этом случаС я Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π° нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ Ссли ΠΎΠ½Π° всё Π΅Ρ‰Ρ‘ слишком слоТна, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π§Π°ΡΡ‚ΡŒ 3: Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π― просто ΡƒΠ±Ρ€Π°Π» ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Β«parentΒ» Π½Π° Β«nodeΒ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, я пропустил Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ шаг создания Β«parentΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» прямо Π² Ρ†ΠΈΠΊΠ».

Но Ρ‡Ρ‚ΠΎ насчёт ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π₯отя Β«nodeΒ» Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ описаниС для этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этом, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π΅Ρ‘. Как насчёт Β«currentNodeΒ»?

Π’Π°ΠΊ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅! Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ currentNode всСгда прСдставляСт собой ΡƒΠ·Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ сСйчас находимся, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Β«ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎΒ» ΡƒΠ·Π»ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. . ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, Π° Π½Π΅ просто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄?

Π₯отя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠ»ΠΈ сайта Π²Π°ΠΆΠ½Π°, Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ выглядит ваш ΠΊΠΎΠ΄. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ машина Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ собствСнный ΠΊΠΎΠ΄, ΠΈ ΠΊΠΎΠ³Π΄Π° это врСмя наступит, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанный ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали, ΠΈΠ»ΠΈ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ сотрудничаСтС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ всС Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅ для Π½ΠΈΡ…, Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ структуру вашСго ΠΊΠΎΠ΄Π°.

НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π§Π°ΡΡ‚ΡŒ 1: Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄?

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π° ΠΌΠΎΠΉ взгляд, β€” ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π·Π°.

НапримСр, взглянСм Π½Π° этот ΠΊΠΎΠ΄:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. O4IqmXBhhp0. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-O4IqmXBhhp0. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° O4IqmXBhhp0. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«traverseUpUntilΒ»

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΈΠΉ элСмСнт ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ блиТайший Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удовлСтворяСт условной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст, пСрвая строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠ±Π΅ΠΉΡˆΠΈΡ… нСдостатка.

НС совсСм ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π§Π°ΡΡ‚ΡŒ 2: Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 1Y cdPY8G68. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-1Y cdPY8G68. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1Y cdPY8G68. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«traverseUpUntilΒ»

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ: Β«ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π» родитСля Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΏΠΎΠΊΠ° Ρƒ родитСля Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», Π° функция условия Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ trueΒ». Π£ΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ понятнСС.

Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ret (ΠΈΠ»ΠΈ returnValue ), Π½ΠΎ это довольно плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Если Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚Π΅ свои Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся. Однако ΠΈΠ½ΠΎΠ³Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈ слоТными, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ большой ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. Π’ этом случаС я Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π° нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ Ссли ΠΎΠ½Π° всё Π΅Ρ‰Ρ‘ слишком слоТна, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π§Π°ΡΡ‚ΡŒ 3: Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π― просто ΡƒΠ±Ρ€Π°Π» ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Β«parentΒ» Π½Π° Β«nodeΒ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, я пропустил Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ шаг создания Β«parentΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» прямо Π² Ρ†ΠΈΠΊΠ».

Но Ρ‡Ρ‚ΠΎ насчёт ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π₯отя Β«nodeΒ» Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ описаниС для этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этом, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π΅Ρ‘. Как насчёт Β«currentNodeΒ»?

Π’Π°ΠΊ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅! Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ currentNode всСгда прСдставляСт собой ΡƒΠ·Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ сСйчас находимся, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Β«ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎΒ» ΡƒΠ·Π»ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство ΠΏΠΎ написанию чистого ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π§Π°ΡΡ‚ΡŒ 1

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 0*zWIwcCwdoZSHdBp. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-0*zWIwcCwdoZSHdBp. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 0*zWIwcCwdoZSHdBp. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

May 25, 2019 Β· 4 min read

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. . ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

НаписаниС чистого ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° β€” нСпростая Π·Π°Π΄Π°Ρ‡Π°, Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ руководство ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΠ²Π»Π°Π΄Π΅Ρ‚ΡŒ этим искусством.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π²ΠΎ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π°Π±Π·Π°Ρ†Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΡ€Π°Ρ‚ΠΊΠΎ описываСтся Π΅Π΅ содСрТаниС. Помимо этого, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит Π΅Ρ‰Π΅ нСсколько Π°Π±Π·Π°Ρ†Π΅Π², структурированных ΠΈ упорядочСнных для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ восприятия.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π° Π°Π±Π·Π°Ρ†Ρ‹ располоТСны Π² странном порядкС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΎ Ρ‡Π΅ΠΌ Ρ€Π΅Ρ‡ΡŒ, придСтся Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ классы ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ β€” это Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ β€” это Π°Π±Π·Π°Ρ†Ρ‹, Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ β€” прСдлоТСния. Рассмотрим особСнности чистого ΠΊΠΎΠ΄Π°:

Π“Π»Π°Π²Π½Ρ‹ ΠΉ вопрос Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΊΠΎΠ΄ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Рассмотрим основныС совСты для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ отступы ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Книги с Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ мСТстрочным ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ, Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ постоянными Ρ€Π°Π·Ρ€Ρ‹Π²Π°ΠΌΠΈ строк Π±Ρ‹Π»ΠΎ Π±Ρ‹ тяТСло ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ. Π’ΠΎ ΠΆΠ΅ самоС с ΠΊΠΎΠ΄ΠΎΠΌ.

Для создания чистого ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ отступов, Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² строки ΠΈ форматирования. Рассмотрим Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

ΠšΠΎΡˆΠΌΠ°Ρ€! ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ прСимущСства использования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… отступов ΠΈ форматирования. β€œΠ₯ΠΎΡ€ΠΎΡˆΠΈΠΉβ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ!

ΠŸΡ€ΠΈΡΡ‚Π½Ρ‹Π΅ новости: Π΅ΡΡ‚ΡŒ мноТСство ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для IDE, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ понятныС названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Π’Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ названия. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ названиями:

Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Ρ…ΠΎΡ€ΠΎΡˆ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

ΠŸΡ€ΠΈ ростС прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ совСты для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°:

ΠŸΡ€ΠΈ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π•ΡΡ‚ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°: β€œΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡΠ°ΠΌΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΡΡβ€. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ВСский Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ лишь Π² идСальном ΠΌΠΈΡ€Π΅. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΈΡ€ программирования Π΄Π°Π»Π΅ΠΊ ΠΎΡ‚ ΠΈΠ΄Π΅Π°Π»Π°, поэтому ΠΏΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для описания дСйствий ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ класса. ΠŸΡ€ΠΈ написании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ½ΠΈ пригодятся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· useJSDoc:

ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄. Π§Π°Ρ‰Π΅ всСго использования ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ β€œΡΠ°ΠΌΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ кода”. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ коммСнтария:

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ.

ИзлишниС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ значСния:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. john mark smith 266552 unsplash. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-john mark smith 266552 unsplash. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° john mark smith 266552 unsplash. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, Π° Π½Π΅ просто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄?

Π₯отя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠ»ΠΈ сайта Π²Π°ΠΆΠ½Π°, Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ выглядит ваш ΠΊΠΎΠ΄. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ машина Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ собствСнный ΠΊΠΎΠ΄, ΠΈ ΠΊΠΎΠ³Π΄Π° это врСмя наступит, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанный ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали, ΠΈΠ»ΠΈ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ сотрудничаСтС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ всС Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅ для Π½ΠΈΡ…, Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ структуру вашСго ΠΊΠΎΠ΄Π°.

НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π§Π°ΡΡ‚ΡŒ 1: Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄?

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π° ΠΌΠΎΠΉ взгляд, β€” ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π·Π°.

НапримСр, взглянСм Π½Π° этот ΠΊΠΎΠ΄:

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΈΠΉ элСмСнт ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ блиТайший Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удовлСтворяСт условной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст, пСрвая строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠ±Π΅ΠΉΡˆΠΈΡ… нСдостатка:

НС совсСм ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π§Π°ΡΡ‚ΡŒ 2: Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠΌ

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ: Β«ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π» родитСля Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΏΠΎΠΊΠ° Ρƒ родитСля Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», Π° функция условия Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ trueΒ». Π£ΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ понятнСС.

Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ret (ΠΈΠ»ΠΈ returnValue ), Π½ΠΎ это довольно плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Если Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚Π΅ свои Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся. Однако ΠΈΠ½ΠΎΠ³Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈ слоТными, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ большой ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. Π’ этом случаС я Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π° нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ Ссли ΠΎΠ½Π° всё Π΅Ρ‰Ρ‘ слишком слоТна, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π§Π°ΡΡ‚ΡŒ 3: Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π― просто ΡƒΠ±Ρ€Π°Π» ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Β«parentΒ» Π½Π° Β«nodeΒ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, я пропустил Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ шаг создания Β«parentΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» прямо Π² Ρ†ΠΈΠΊΠ».

Но Ρ‡Ρ‚ΠΎ насчёт ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π₯отя Β«nodeΒ» Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ описаниС для этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этом, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π΅Ρ‘. Как насчёт Β«currentNodeΒ»?

Π’Π°ΠΊ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅! Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ currentNode всСгда прСдставляСт собой ΡƒΠ·Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ сСйчас находимся, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Β«ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎΒ» ΡƒΠ·Π»ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 9f7d4edacc48f0d12bc8e501d349aeb0. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-9f7d4edacc48f0d12bc8e501d349aeb0. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 9f7d4edacc48f0d12bc8e501d349aeb0. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, Π° Π½Π΅ просто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄?

Π₯отя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠ»ΠΈ сайта Π²Π°ΠΆΠ½Π°, Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ выглядит ваш ΠΊΠΎΠ΄. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этого являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ машина Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ собствСнный ΠΊΠΎΠ΄, ΠΈ ΠΊΠΎΠ³Π΄Π° это врСмя наступит, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанный ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали, ΠΈΠ»ΠΈ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ сотрудничаСтС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ всС Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅ для Π½ΠΈΡ…, Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ структуру вашСго ΠΊΠΎΠ΄Π°.

НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π§Π°ΡΡ‚ΡŒ 1: Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄?

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π° ΠΌΠΎΠΉ взгляд, β€” ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π·Π°.

НапримСр, взглянСм Π½Π° этот ΠΊΠΎΠ΄:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 55248c156e1ada5ace2f4cc00c42473a. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-55248c156e1ada5ace2f4cc00c42473a. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 55248c156e1ada5ace2f4cc00c42473a. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«traverseUpUntilΒ»

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΈΠΉ элСмСнт ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ блиТайший Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удовлСтворяСт условной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст, пСрвая строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠ±Π΅ΠΉΡˆΠΈΡ… нСдостатка.

НС совсСм ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π§Π°ΡΡ‚ΡŒ 2: Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠΌ

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. 2ac5015fbc682423616325ec10dddf5e. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ-2ac5015fbc682423616325ec10dddf5e. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2ac5015fbc682423616325ec10dddf5e. Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΡ‹ всС писали (Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠΈΡˆΡƒΡ‚) ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈ, надСюсь, ΠΌΡ‹ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π° Π½Π΅ просто Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ статСй Π²Ρ€ΠΎΠ΄Π΅ этой.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«traverseUpUntilΒ»

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ: Β«ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π» родитСля Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΏΠΎΠΊΠ° Ρƒ родитСля Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π», Π° функция условия Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ trueΒ». Π£ΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ понятнСС.

Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ret (ΠΈΠ»ΠΈ returnValue ), Π½ΠΎ это довольно плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Если Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·ΠΎΠ²Ρ‘Ρ‚Π΅ свои Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ возвращаСтся. Однако ΠΈΠ½ΠΎΠ³Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈ слоТными, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ большой ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. Π’ этом случаС я Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π° нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ Ссли ΠΎΠ½Π° всё Π΅Ρ‰Ρ‘ слишком слоТна, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π§Π°ΡΡ‚ΡŒ 3: Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π― просто ΡƒΠ±Ρ€Π°Π» ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Β«parentΒ» Π½Π° Β«nodeΒ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, я пропустил Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ шаг создания Β«parentΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» прямо Π² Ρ†ΠΈΠΊΠ».

Но Ρ‡Ρ‚ΠΎ насчёт ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π₯отя Β«nodeΒ» Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ описаниС для этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этом, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π΅Ρ‘. Как насчёт Β«currentNodeΒ»?

Π’Π°ΠΊ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅! Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ currentNode всСгда прСдставляСт собой ΡƒΠ·Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ сСйчас находимся, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Β«ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎΒ» ΡƒΠ·Π»ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *