एक लिंक्ड सूची एक रैखिक डेटा संरचना है जिसमें कई नोड्स होते हैं जो एक दूसरे से जुड़े होते हैं। प्रत्येक नोड में दो फ़ील्ड होते हैं डेटा फ़ील्ड और अगले नोड का पता।
आइए मान लें कि हमने एक एकल लिंक की गई सूची दी है, कार्य दी गई लिंक की गई सूची की शुरुआत में एक नोड सम्मिलित करना है। उदाहरण के लिए,
इनपुट-1 − 1 → 2 → 3 → 4
दी गई लिंक की गई सूची के शीर्ष पर या शुरुआत में '5' डालें।
आउटपुट − 5 → 1 → 2 → 3 → 4
स्पष्टीकरण - लिंक की गई सूची की शुरुआत में नोड डालने के बाद यह लिंक की गई सूची को 5 → 1 → 2 → 3 → 4 के रूप में प्रिंट करेगा।
इस समस्या को हल करने का तरीका
प्रारंभ में, हमने एक लिंक की गई सूची दी है जिसमें नोड्स होते हैं। प्रत्येक नोड में अगले नोड का डेटा और पता होता है।
चूंकि हमने पहले ही एक नोड बना लिया है, इसलिए हम एक फ़ंक्शन बनाएंगे जो एक पैरामीटर के रूप में हेड नोड का पता लेगा और डेटा जो हमें लिंक की गई सूची की शुरुआत में डालना होगा और शुरुआत में डेटा डालना होगा। अब सिर को नए सम्मिलित नोड की ओर इंगित करें।
-
एक फ़ंक्शन insertAthead(node*&head, int data) हेड नोड का पता और उस डेटा को लेता है जिसे हमें सम्मिलित करना है।
-
एक नया नोड बनाएं और उसमें डेटा डालें।
-
सिर को नव निर्मित नोड में ले जाएँ।
-
लिंक की गई सूची प्रिंट करें।
उदाहरण
#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); }
आउटपुट
उपरोक्त कोड को चलाने से आउटपुट इस प्रकार उत्पन्न होगा,
3→ 8→ 2→ 5 →
लिंक की गई सूची की शुरुआत में नोड्स 3, 8, 2, और 5 डालने से, यह आउटपुट को − 3→ 8→ 2→ 5 → के रूप में उत्पन्न करेगा।