আমাদের একটি ফাংশন ইনসার্ট (ডেটা, পজিশন) তৈরি করতে হবে যা লিঙ্ক করা তালিকায় প্রদত্ত অবস্থানে ডেটা সন্নিবেশ করে। আমরা নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করব -
৷- একটি নতুন নোড তৈরি করুন
- তালিকা খালি আছে কিনা তা পরীক্ষা করুন। যদি এটি মাথায় নোড যোগ করে এবং ফিরে আসে।
- যদি না হয়, তাহলে আমরা currElem ব্যবহার করে যে অবস্থানে এটি সন্নিবেশ করতে চাই সেই অবস্থানে পুনরাবৃত্তি করব। আমরা currElem এর সমান currElem.next করে একটি লিঙ্কযুক্ত তালিকা পুনরাবৃত্তি করি।
- তারপর আমরা তালিকার পরবর্তী নোডে নোড পয়েন্ট করব। এটি বাকি তালিকার ট্র্যাক রাখার জন্য।
- অবশেষে, আমরা currElem থেকে তালিকার বাকি অংশে লিঙ্কটি ভেঙে ফেলি এবং এটিকে আমাদের তৈরি করা নোডে নির্দেশ করি। এখন নোডটি প্রদত্ত অবস্থানে তালিকায় রয়েছে।
এখানে একই -
এর একটি দৃষ্টান্ত রয়েছে
এখন দেখা যাক কিভাবে আমরা এই −
কে বাস্তবায়ন করবউদাহরণ
insert(data, position = this.length) { let node = new this.Node(data); if (this.head === null) { this.head = node; this.length++; return this.head; } let iter = 1; let currNode = this.head; while (currNode.next != null && iter < position) { currNode = currNode.next; iter++; } node.next = currNode.next; currNode.next = node; this.length++; return node; }
মনে রাখবেন যে আমরা শেষ উপাদান হিসাবে অবস্থান দিয়েছি। এটির কারণ যদি আপনি একটি অবস্থান প্রদান না করেন, এটি ডিফল্টরূপে শেষ পর্যন্ত ঢোকানো হবে৷
আপনি −
ব্যবহার করে এটি পরীক্ষা করতে পারেনউদাহরণ
let list = new LinkedList(); list.insert(10); list.insert(20); list.insert(30); list.insert(15, 2); list.display();
আউটপুট
এটি আউটপুট দেবে −
10 -> 30 -> 15 -> 20 ->
যেমন আমরা দেখতে পাচ্ছি সমস্ত উপাদান আমাদের উদ্দেশ্য অনুসারে রয়েছে৷ আমরা 2 এর পরে অবস্থানে 15 সন্নিবেশ করার চেষ্টা করেছি।