আমাদের একটি ফাংশন ইনসার্ট (ডেটা, পজিশন) তৈরি করতে হবে যা লিঙ্ক করা তালিকায় প্রদত্ত অবস্থানে ডেটা সন্নিবেশ করে। আমরা নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করব -
৷- একটি নতুন নোড তৈরি করুন
- তালিকা খালি আছে কিনা তা পরীক্ষা করুন। যদি এটি মাথায় নোড যোগ করে এবং ফিরে আসে।
- যদি না হয়, তাহলে আমরা 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 সন্নিবেশ করার চেষ্টা করেছি।