নোড এবং পয়েন্টার সম্পর্কে কীভাবে?
ধরে নিই যে সবসময় 6 টি মুখ থাকে এবং সেই 1 নোডটি 1 টিতে 1 বর্গ প্রতিনিধিত্ব করে:
r , g , b
r , g , b
r , g , b
| | |
r , g , b - r , g , b
r , g , b - r , g , b
r , g , b - r , g , b
একটি নোডের পাশের প্রতিটি নোডের পয়েন্টার থাকে। একটি বৃত্তের আবর্তন কেবলমাত্র পয়েন্টারটি স্থানান্তর করে (নোডের সংখ্যা / মুখ সংখ্যা) -১ নোডের উপর, এই ক্ষেত্রে ২. সমস্ত ঘূর্ণন বৃত্ত ঘূর্ণন, আপনি কেবল একটি rotate
ফাংশন তৈরি করেন। এটি পুনরাবৃত্তিমূলক, প্রতিটি নোডকে একটি করে স্থান স্থানান্তর করে, এবং এটি তাদের যথেষ্ট পরিমাণে সরিয়ে নিয়েছে কিনা তা পরীক্ষা করে দেখায়, যেহেতু এটি নোডের সংখ্যা সংগ্রহ করবে এবং সর্বদা চারটি মুখ থাকবে। যদি তা না হয় তবে বারবার সরিয়ে নেওয়া মান এবং কলটি আবার ঘোরানো হবে incre
এটি দ্বিগুণভাবে সংযুক্ত রয়েছে তা ভুলে যাবেন না, সুতরাং নতুন পয়েন্টযুক্ত নোডগুলিও আপডেট করুন। সর্বদা নোডের প্রতি পয়েন্টার আপডেট হওয়া সাথে নোডের উচ্চতা * প্রস্থের প্রস্থ সংখ্যা থাকবে, সুতরাং উচ্চতা * প্রস্থ * 2 নম্বর পয়েন্টার আপডেট হওয়া উচিত।
যেহেতু সমস্ত নোড একে অপরের দিকে ইঙ্গিত করে, প্রতিটি নোডের কাছে আসার সাথে সাথে কেবলমাত্র নোডটিকে বৃত্তাকার আপডেট করে চলাফেরা করতে হবে।
প্রান্তের কেস বা জটিল যুক্তি ছাড়াই এটি কোনও আকারের কিউবটির জন্য কাজ করা উচিত। এটি কেবল পয়েন্টার ওয়াক / আপডেট।