['   \n  \n [\'ਪ੍ਰੋਗਰਾਮ ਤਿਆਰ ਕਰੋ ਜਿਸ ਦਾ ਹੇਠ ਦਿੱਤਾ ਇਰਾਦਾ ਹੋਵੇਃ \\n\\n ਇਹ\' ਨਾਮ _ 1 \'ਕਲਾਸ ਦੀ ਬਣਤਰ ਹੈਃ \\n "\\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (\\n ਸੈਲਫ, \\n)ਮੁੱਲ = ਕੋਈ ਨਹੀਂ, \\n ਉੱਤਰਾਧਿਕਾਰੀ = ਕੋਈ ਨਹੀਂ, \\n ਉੱਤਰਾਧਿਕਾਰੀ = [], \\n ਪੂਰਵਗਾਮੀ = [], \\n ਆਉਣ ਵਾਲੇ _ ਨੋਡਸ = [], \\n ਬਾਹਰ ਜਾਣ ਵਾਲੇ _ ਨੋਡਸ = [], \\n: \\n self.value = ਮੁੱਲ \\n self.successor= ਉੱਤਰਾਧਿਕਾਰੀ \\n self.successors = ਉੱਤਰਾਧਿਕਾਰੀ\\n self.predecessors = ਪੂਰਵਗਾਮੀ\\n self.incoming_nodes = ਆਉਣ ਵਾਲੇ _ ਨੋਡਸ\\n self.outgoing_nodes =ਪ੍ਰੋਗਰਾਮ ਦਾ ਉਦੇਸ਼ p5 ਨਾਮਕ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਹੈ ਜੋ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਲਿੰਕਡ ਸੂਚੀ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ ਹੈ ਜਾਂ ਨਹੀਂ।"ਕੱਛੂ" ਜਾਂ "ਖਰਗੋਸ਼"। ਇੱਕ ਕੱਛੂ ਨਾਮ _ 1 ਇੱਕ ਨਾਮ _ 1 ਹੁੰਦਾ ਹੈ ਜਿਸਦਾ ਕੋਈ ਉੱਤਰਾਧਿਕਾਰੀ ਨਹੀਂ ਹੁੰਦਾ, ਜਦੋਂ ਕਿ ਇੱਕ ਖਰਗੋਸ਼ ਨਾਮ _ 1 ਇੱਕ ਨਾਮ _ 1 ਹੁੰਦਾ ਹੈ ਜਿਸਦਾ ਉੱਤਰਾਧਿਕਾਰੀ ਵੀ ਹੁੰਦਾ ਹੈ।ਕੱਛੂਕੁੰਮੇ ਦਾ ਉੱਤਰਾਧਿਕਾਰੀ ਨਾਮ _ 1. ਫੰਕਸ਼ਨ p5 ਇੱਕ ਨਾਮ _ 1 ਨੂੰ ਇੰਪੁੱਟ ਵਜੋਂ ਲੈਂਦਾ ਹੈ ਅਤੇ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਲਿੰਕਡ ਸੂਚੀ ਨੂੰ ਵਾਰ-ਵਾਰ ਪਾਰ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਦਿੱਤਾ ਗਿਆ ਹੈਨਾਮ _ 1 ਇੱਕ ਕੱਛੂਕੁੰਮੇ ਜਾਂ ਇੱਕ ਖਰਗੋਸ਼ ਹੈ। ਇਹ ਸਹੀ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ ਕੱਛੂਕੁੰਮੇ ਹੈ ਅਤੇ ਗਲਤ ਹੈ। \\n\\n ਨਾਮ _ 1 ਕਲਾਸ ਵਿੱਚ, ਗੁਣ ਮੁੱਲ,ਉੱਤਰਾਧਿਕਾਰੀ, ਉੱਤਰਾਧਿਕਾਰੀ, ਪੂਰਵਗਾਮੀ, ਆਉਣ ਵਾਲੇ _ ਨੋਡਸ, ਅਤੇ ਬਾਹਰ ਜਾਣ ਵਾਲੇ _ ਨੋਡਸ, NAME _ 1 ਉੱਤੇ ਸਟੋਰ ਕੀਤੇ ਮੁੱਲ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ, NAME _ 1 ਦਾ ਉੱਤਰਾਧਿਕਾਰੀ,ਉੱਤਰਾਧਿਕਾਰੀ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਪੂਰਵਵਰਤੀ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਆਉਣ ਵਾਲੇ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਅਤੇ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਕ੍ਰਮਵਾਰ। init ਵਿਧੀਇਹਨਾਂ ਗੁਣਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਡਿਫਾਲਟ ਮੁੱਲਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। \\n\\n p5 ਫੰਕਸ਼ਨ ਵਿੱਚ, ਖਰਗੋਸ਼ ਅਤੇ ਕੱਛੂਕੁੰਮੇ ਵੇਰੀਏਬਲਾਂ ਦੀ ਵਰਤੋਂ ਵਰਤਮਾਨ ਦਾ ਧਿਆਨ ਰੱਖਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।ਨਾਮ _ 1 ਅਤੇ ਕੱਛੂਕੁੰਮੇ ਦਾ ਨਾਮ _ 1, ਕ੍ਰਮਵਾਰ। ਵਾਇਲ ਲੂਪ ਉਦੋਂ ਤੱਕ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਖਰਗੋਸ਼ ਦਾ ਨਾਮ _ 1 ਦਾ ਉੱਤਰਾਧਿਕਾਰੀ ਹੁੰਦਾ ਹੈ ਅਤੇ ਕੱਛੂਕੁੰਮੇ ਦਾ ਨਾਮ _ 1 ਨਹੀਂ ਹੁੰਦਾ।ਪਹੁੰਚ ਗਿਆ। ਵਾਇਲ ਲੂਪ ਦੇ ਅੰਦਰ ਜੇ ਬਿਆਨ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਖਰਗੋਸ਼ ਦਾ ਨਾਮ _ 1 ਕੱਛੂਕੁੰਮੇ ਦੇ ਨਾਮ _ 1 ਦੇ ਬਰਾਬਰ ਹੈ। ਜੇ ਉਹ ਬਰਾਬਰ ਹਨ, ਤਾਂ ਇਸਦਾ ਅਰਥ ਹੈ ਕਿਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ ਕੱਛੂ ਹੈ ਅਤੇ ਫੰਕਸ਼ਨ ਸਹੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜੇ ਨਹੀਂ, ਤਾਂ ਫੰਕਸ਼ਨ ਲਿੰਕ ਕੀਤੀ ਸੂਚੀ ਨੂੰ ਵਾਰ-ਵਾਰ ਲੰਘਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਇਹ ਨਹੀਂ ਹੁੰਦਾ।ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਕੱਛੂ ਹੈ ਜਾਂ ਖਰਗੋਸ਼। \\n \'] ', 'ਪ੍ਰੋਗਰਾਮ ਤਿਆਰ ਕਰੋ ਜਿਸ ਦਾ ਹੇਠ ਦਿੱਤਾ ਇਰਾਦਾ ਹੋਵੇਃ ਇਹ \'ਨਾਮ _ 1\' ਕਲਾਸ ਦੀ ਬਣਤਰ ਹੈਃ "ਕਲਾਸ ਨਾਮ _ 1: ਡਿਫ _ _ init _ (ਸਵੈ, ਮੁੱਲ = ਕੋਈ ਨਹੀਂ,ਉੱਤਰਾਧਿਕਾਰੀ = ਕੋਈ ਨਹੀਂ, ਉੱਤਰਾਧਿਕਾਰੀ = [], ਪੂਰਵਗਾਮੀ = [], ਆਉਣ ਵਾਲੇ _ ਨੋਡਸ = [], ਬਾਹਰ ਜਾਣ ਵਾਲੇ _ ਨੋਡਸ = [],): self.value = ਮੁੱਲ self.successor = ਉੱਤਰਾਧਿਕਾਰੀ self.successors= ਉੱਤਰਾਧਿਕਾਰੀ self.predecessors = ਪੂਰਵਗਾਮੀ self.incoming_nodes = ਆਉਣ ਵਾਲੇ _ ਨੋਡਸ self.outgoing_nodes = ਬਾਹਰ ਜਾਣ ਵਾਲੇ _ ਨੋਡਸ "ਪ੍ਰੋਗਰਾਮ p5 ਨਾਮਕ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਹੈ ਜੋ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਇੱਕ ਲਿੰਕਡ ਸੂਚੀ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ "ਕੱਛੂ" ਹੈ ਜਾਂ ਇੱਕ "ਖਰਗੋਸ਼" ਹੈ। ਇੱਕ ਕੱਛੂ ਨਾਮ _ 1 ਹੈਇੱਕ ਨਾਮ _ 1 ਜਿਸਦਾ ਕੋਈ ਉੱਤਰਾਧਿਕਾਰੀ ਨਹੀਂ ਹੁੰਦਾ, ਜਦੋਂ ਕਿ ਇੱਕ ਖਰਗੋਸ਼ ਨਾਮ _ 1 ਇੱਕ ਨਾਮ _ 1 ਹੁੰਦਾ ਹੈ ਜਿਸਦਾ ਉੱਤਰਾਧਿਕਾਰੀ ਵੀ ਕੱਛੂਕੁੰਮੇ ਨਾਮ _ 1 ਦਾ ਉੱਤਰਾਧਿਕਾਰੀ ਹੁੰਦਾ ਹੈ।ਇੱਕ ਨਾਮ _ 1 ਨੂੰ ਇੰਪੁੱਟ ਦੇ ਰੂਪ ਵਿੱਚ ਲੈਂਦਾ ਹੈ ਅਤੇ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਕਿ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ ਕੱਛੂਕੁੰਮੇ ਹੈ ਜਾਂ ਇੱਕ ਖਰਗੋਸ਼ ਹੈ, ਲਿੰਕਡ ਸੂਚੀ ਨੂੰ ਵਾਰ-ਵਾਰ ਪਾਰ ਕਰਦਾ ਹੈ। ਇਹ ਸਹੀ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ ਕੱਛੂ ਹੈ ਅਤੇ ਗਲਤ ਹੈ। ਨਾਮ _ 1 ਕਲਾਸ ਵਿੱਚ, ਗੁਣ ਮੁੱਲ, ਉੱਤਰਾਧਿਕਾਰੀ, ਉੱਤਰਾਧਿਕਾਰੀ, ਪੂਰਵਗਾਮੀ, ਆਉਣ ਵਾਲੇ ਨੋਡ,ਅਤੇ ਆਊਟਗੋਇੰਗ _ ਨੋਡਸ ਨਾਮ _ 1 ਉੱਤੇ ਸਟੋਰ ਕੀਤੇ ਮੁੱਲ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ, ਨਾਮ _ 1 ਦਾ ਉੱਤਰਾਧਿਕਾਰੀ, ਉੱਤਰਾਧਿਕਾਰੀ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਪੂਰਵਵਰਤੀ ਨੋਡਾਂ ਦੀ ਸੂਚੀ,ਆਉਣ ਵਾਲੇ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਅਤੇ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਨੋਡਾਂ ਦੀ ਸੂਚੀ, ਕ੍ਰਮਵਾਰ. init ਵਿਧੀ ਇਹਨਾਂ ਗੁਣਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਡਿਫਾਲਟ ਮੁੱਲਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ।p5 ਫੰਕਸ਼ਨ, ਖਰਗੋਸ਼ ਅਤੇ ਕੱਛੂਕੁੰਮੇ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕ੍ਰਮਵਾਰ ਮੌਜੂਦਾ ਨਾਮ _ 1 ਅਤੇ ਕੱਛੂਕੁੰਮੇ ਨਾਮ _ 1 ਦਾ ਧਿਆਨ ਰੱਖਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।ਇਹ ਉਦੋਂ ਤੱਕ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਖਰਗੋਸ਼ ਦਾ ਨਾਮ _ 1 ਦਾ ਉੱਤਰਾਧਿਕਾਰੀ ਹੁੰਦਾ ਹੈ ਅਤੇ ਕੱਛੂਕੁੰਮੇ ਦਾ ਨਾਮ _ 1 ਨਹੀਂ ਪਹੁੰਚਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਲੂਪ ਦੇ ਅੰਦਰ ਜੇ ਬਿਆਨ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈਕੀ ਖਰਗੋਸ਼ ਦਾ ਨਾਮ _ 1 ਕੱਛੂਕੁੰਮੇ ਦੇ ਨਾਮ _ 1 ਦੇ ਬਰਾਬਰ ਹੈ। ਜੇ ਉਹ ਬਰਾਬਰ ਹਨ, ਤਾਂ ਇਸਦਾ ਅਰਥ ਹੈ ਕਿ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਇੱਕ ਕੱਛੂਕੁੰਮੇ ਹੈ ਅਤੇ ਫੰਕਸ਼ਨ ਵਾਪਸ ਆ ਜਾਂਦਾ ਹੈ।ਸਹੀ ਹੈ। ਜੇ ਨਹੀਂ, ਤਾਂ ਫੰਕਸ਼ਨ ਲਿੰਕਡ ਸੂਚੀ ਨੂੰ ਵਾਰ-ਵਾਰ ਲੰਘਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਇਹ ਨਿਰਧਾਰਤ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਦਿੱਤਾ ਗਿਆ ਨਾਮ _ 1 ਕੱਛੂਕੁੰਮੇ ਹੈ ਜਾਂ ਖਰਗੋਸ਼। \n ']