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

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
Khalid Hasan Shohag (আলোচনা | অবদান)
Khalid Hasan Shohag (আলোচনা | অবদান)
১৯ নং লাইন:
লিস্টের প্রত্যেক রেকর্ডকে নোড বলে। নোডের প্রথম অংশে ডাটা থাকে এবং দ্বিতীয় অংশে পরের নোডের এড্রেস বা ঠিকানা থাকে যাকে 'নেক্সট পয়েন্টার' বলে। প্রথম নোডকে লিস্টের মাথা (head) এবং শেষ নোডকে লেজ (tail) বলা হয়।
 
'''সিংগ্‌লিসিংলি লিস্ট'''
 
প্রত্যেক নোডে ডাটা ফিল্ড এবং নেক্সট পয়েন্টার ফিল্ড থাকে। এতে সাধারণত ইনসার্ট (নোড বা ডাটা যোগ) , ডিলেট(নোড বা ডাটা বাদ) ও ট্রাভার্স (পুরো লিস্ট ঘোরা) অপারেশন করা হয়।
[[চিত্র:Singly-linked-list.svg|কেন্দ্র|ফ্রেম|একটা সিংগ্‌লিসিংলি লিঙ্কড লিস্ট যার নোডসমূহে দুইটা অংশ: একটা ইন্টিজার ভ্যালু এবং পরের নোডের জন্য লিংক বা রেফারেন্স। শেষ নোডকে একটা টার্মিনেটর বা নাল ভ্যালুর সাথে লিংক করা হয়েছে, যার মাধ্যমে লিস্টের শেষ বোঝানো হয়েছে।]]
নিচের কোড দেখায় কীভাবে একটা নোড যার 'value' নামক লিস্টের শেষে ইনসার্ট যোগ করা যায়:<syntaxhighlight lang="c">
node addNode(node head, int value) {
৪১ নং লাইন:
}
</syntaxhighlight>
''' ডাব্‌লি লিঙ্কড লিস্ট '''
 
ডাব্‌লি লিঙ্কড লিস্টে প্রত্যেক নোডে, নেক্সট পয়েন্টার ফিল্ডের পাশাপাশি আরেকটা পয়েন্টার ফিল্ড থাকে যা দিয়ে পূর্বের নোডের সাথে পয়েন্ট বা লিংক করে। দুই লিংককে 'ফরোয়ার্ড' ও 'ব্যাকওয়ার্ড' অথবা 'নেক্সট' ও 'প্রেভ' বলে।
 
[[Image:Doubly-linked-list.svg|frame|center|একটা ডাব্‌লি লিঙ্কড লিস্ট যার তিনটা ফিল্ড: একটা ইন্টিজার ভ্যালু, পরের নোডের জন্যে একটা লিংক এবং পূর্ববর্তী নোডের জন্য আরেকটা লিংক বা পয়েন্টার ফিল্ড।]]
আধুনিক অপারেটিং সিস্টেমে একটিভ প্রসেস, থ্রেড ও অন্যান্য ডায়নামিক উপাদান চালনার জন্য ডাব্‌লি লিঙ্কড লিস্ট ব্যাবহার করা হয়ে থাকে।
== তথ্যসূত্র ==