৭-২ঃ Insert at Singly Linked List Recap
এবার আমরা লিঙ্কড লিস্টে ইন্সারট করা রিকেপ করব।
শুরুতে আমরা দেখে নেই কিভাবে একটি লিঙ্কড লিস্ট এর সাইজ বের করা যায়। এক্ষেত্রে আমরা হুবুহু প্রিন্ট ফাংশনটি ইউজ করতে পারি। প্রিন্ট ফাংশনে আমরা সবগুলো নোডে যেয়ে প্রিন্ট করতাম এখন আমরা কাউন্ট করব।
int size(Node *head)
{
Node *tmp = head;
int count = 0; // কাউন্ট ভেরিয়েবল নিচ্ছি।
while (tmp != NULL)
{
count++; // সবগুলো নোডে যেয়ে কাউন্ট করছি।
tmp = tmp->next;
}
return count; // কাউন্ট করা শেষে কাউন্ট রিটার্ন করছি।
}এবার আমরা ইন্সারট ফাংশন দেখব। লিঙ্কড লিস্ট এর যেকোন অপারেশন আমরা শুরুতে মনে মনে ভিজুয়ালাইজ করব তারপর সেটি কোড করব। নাহলে আমাদের কোড না বুঝে মুখস্থ করা ছাড়া আর কোন উপায় থাকবে না। মনে করি আমাদের কাছে এরকম একটি লিঙ্কড লিস্ট আছে।

এখন আমরা ২০ এবং ৩০ এর মাঝে ২৫কে ইন্সারট করতে চাই। তাহলে আমরা এভাবে করতে পারি। শুরুতে ২৫ দিয়ে একটি নোড তৈরি করতে হবে।

এরপর আমাদের দুটি কানেকশন দিতে হবে। প্রথমে ২৫ এর নেক্সটে ৩০ কে কানেক্ট করতে হবে এবং তারপর ২০ এর শেষে ২৫। এক্ষেত্রে অবশ্যই সিরিয়াল মেইনটেইন করতে হবে। কারন আমরা যদি আগে ২০ এর শেষে ২৫ কে কানেক্ট করে দেই তাহলে কিন্তু ৩০ কে পরে আর খুজে পাওয়া যাবে না। কারন ৩০ এর সাথে কারো কোন কানেকশন থাকবে না।


এবার আমরা পুরো অপারেশন কোডে লিখিঃ
সম্পুরন কোড।
ডাটা স্ট্রাকচার কোর্সের গিটবুকগুলো আপনাদের কেমন লাগছে ? আমাদেরকে জানাতে পারেন। https://forms.gle/t3uHWc3mgFRu1iTi8
Last updated