লিংকড লিস্ট ডাইনামিক মেমরি অ্যালোকেশন ব্যবহার করে নোডের সমষ্টি। প্রতিটি নোডে থাকে ডেটা এবং লিংক (পয়েন্টার)। ডাবলি লিংকড লিস্টে প্রতিটি নোডের দুটি পয়েন্টার থাকে: preptr (পূর্বের নোড) এবং nextptr (পরবর্তী নোড)।
প্রোগ্রাম ফিচার
- নোড স্রষ্টি, শুরুতে, শেষে এবং যেকোনো পজিশনে ইনসারশন।
- লিস্ট ডিসপ্লে ফাংশন।
- মেমরি অ্যালোকেশন চেক (malloc ফেইল হ্যান্ডলিং)।
C কোড (সংক্ষিপ্ত সংস্করণ)
#include <stdio.h>
#include <stdlib.h>
struct node {
int num;
struct node *preptr;
struct node *nextptr;
} *stnode, *ennode;
void DlListcreation(int n);
void DlLinsertNodeAtAny(int num, int pos);
void displayDlList(int a);
int main() {
int n, num1, insPlc;
stnode = ennode = NULL;
printf("Input number of nodes: ");
scanf("%d", &n);
DlListcreation(n);
displayDlList(1);
printf("Input position (1 to %d) to insert: ", n+1);
scanf("%d", &insPlc);
printf("Input data for position %d: ", insPlc);
scanf("%d", &num1);
DlLinsertNodeAtAny(num1, insPlc);
displayDlList(2);
return 0;
}
// ... বাকি ফাংশনগুলো (creation, insert at beginning/end/any, display) الأصلية কোডে আছে
নমুনা আউটপুট
Input the number of nodes: 5 Data: 23 12 11 34 10 Input position: 5 Input data: 78 After insertion: 23 12 11 34 78 10