লিঙ্কড লিস্ট: সংশোধিত সংস্করণের মধ্যে পার্থক্য

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
Khalid Hasan Shohag (আলোচনা | অবদান)
সম্পাদনা সারাংশ নেই
Khalid Hasan Shohag (আলোচনা | অবদান)
সম্পাদনা সারাংশ নেই
১৬ নং লাইন:
}}
</ref>
== প্রাথমিক ধারণা ==
লিস্টের প্রত্যেক রেকর্ডকে নোড বলে। নোডের প্রথম অংশে ডাটা থাকে এবং দ্বিতীয় অংশে পরের নোডের এড্রেস বা ঠিকানা থাকে যাকে 'নেক্সট পয়েন্টার' বলে। প্রথম নোডকে লিস্টের মাথা (head) এবং শেষ নোডকে লেজ (tail) বলা হয়।
 
'''সিংগ্‌লি লিস্ট'''
 
প্রত্যেক নোডে ডাটা ফিল্ড এবং নেক্সট পয়েন্টার ফিল্ড থাকে। এতে সাধারণত ইনসার্ট (নোড বা ডাটা যোগ) , ডিলেট(নোড বা ডাটা বাদ) ও ট্রাভার্স (পুরো লিস্ট ঘোরা) অপারেশন করা হয়।
[[চিত্র:Singly-linked-list.svg|কেন্দ্র|ফ্রেম|একটা সিংগ্‌লি লিঙ্কড লিস্ট যার নোডসমূহে দুইটা অংশ: একটা ইন্টিজার ভ্যালু এবং পরের নোডের জন্য লিংক বা রেফারেন্স। শেষ নোডকে একটা টার্মিনেটর বা নাল ভ্যালুর সাথে লিংক করা হয়েছে, যার মাধ্যমে লিস্টের শেষ বোঝানো হয়েছে।]]
নিচের কোড দেখায় কীভাবে একটা নোড বা ডাটা লিস্টের শেষে একটা value ইনসার্ট করা যায়:<syntaxhighlight lang="c">
node addNode(node head, int value) {
node temp, p; // temp এবং p নামে দুইটা নোড ডিক্লেয়ার করা হয়েছে।
temp = createNode(); // createNode একটা নতুন নোড তৈরী করে যেখানে data = 0 and নেক্সট পয়েন্টার ফিল্ড 0 বা NULL।
temp->data = value; // নোডের ডাটা পার্টে ভ্যালু এসাইন করা হয়েছে
if (head == NULL) {
head = temp; // যখন লিস্ট খালি
}
else {
p = head; // p তে head এসাইন করা হয়েছে।
while (p->next != NULL) {
p = p->next; // লিস্ট ট্রাভার্স করা যতক্ষণ না p শেষ নোড হয়। শেষ নোড সর্বদাই NULL পয়েন্ট করবে।
}
p->next = temp; // নতুন নোডকে লিস্টের শেষ নোডের সাথে পয়েন্ট করা হয়েছে।
}
return head;
}
</syntaxhighlight>
 
 
== তথ্যসূত্র ==