লিঙ্কড লিস্ট একটি লিনিয়ার ডেটা স্ট্রাকচার যেখানে একাধিক নোড পরস্পর সংযুক্ত থাকে। প্রতিটি নোডের দুটি ফিল্ড থাকে: ডেটা ফিল্ড এবং পরবর্তী নোডের ঠিকানা।
একটি সিংলি লিঙ্কড লিস্ট দেওয়া থাকলে, তার শুরুতে একটি নতুন নোড ইনসার্ট করতে হবে।
ইনপুট-১
1 → 2 → 3 → 4 Insert '5' at head
আউটপুট
5 → 1 → 2 → 3 → 4
সমাধানের পদ্ধতি
insertAtHead(Node* &head, int data)ফাংশন হেড পয়েন্টারের রেফারেন্স এবং ডেটা নেবে।- নতুন নোড তৈরি করে ডেটা বসান।
- নতুন নোডের
next-কে বর্তমান হেড করুন। - হেডকে নতুন নোডে পয়েন্ট করান।
- লিস্ট প্রিন্ট করুন।
উদাহরণ
#include <iostream>
using namespace std;
class Node {
public:
int data;
Node* next;
Node(int d) { data = d; next = NULL; }
};
void insertAtHead(Node* &head, int data) {
Node* n = new Node(data);
n->next = head;
head = n;
}
void print(Node* head) {
while (head != NULL) {
cout << head->data << "→";
head = head->next;
}
}
int main() {
Node* head = NULL;
insertAtHead(head, 5);
insertAtHead(head, 2);
insertAtHead(head, 8);
insertAtHead(head, 3);
print(head);
return 0;
}
আউটপুট
3→8→2→5→