৭-৪ঃ Delete from Singly Linked List Recap

এবার আমরা সিংগলি লিঙ্কড লিস্ট এ ডিলিট করা রিকেপ করব।

শুরুতে আমরা দেখে নেই এনি পজিশনে ডিলিট করতে হলে সেটার ভিজুয়ালাইজেশনটা কেমন হবে।

ধরি আমরা এখানে ৩০ কে ডিলিট করতে চাই। তাহলে ডিলিট করার পর নিশ্চয়ই ২০ এর নেক্সটে ৪০ থাকবে। তাই এক্ষেত্রে আমাদের লুপ চালিয়ে টেম্প নোড নিয়ে ২০ এ যেয়ে থামতে হবে। অর্থাৎ যেই পজিশনে ডিলিট করব তার আগের পজিশনে যেয়ে থামতে হবে। কোডঃ

Node *tmp = head;
for (int i = 1; i <= pos - 1; i++)   // লুপ চালিয়ে যেই পজিশনে ডিলিট করব তার আগের পজিশনে যেয়ে থামছি।
{
    tmp = tmp->next; 
}

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

সবশেষে লিঙ্কড লিস্ট দেখতে এমন হবে।

সম্পুরন কোডঃ

এই কোড দিয়ে যেকোন পজিশনে নোড ডিলিট করা যাবে শুধু হেড ছাড়া। হেড ডিলিটটা আমরা নেক্সট আর্টিকেলে দেখব।

Last updated