Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में दिए गए सिंगली लिंक्ड लिस्ट की शुरुआत में नोड डालने का प्रोग्राम लिखें


एक लिंक्ड लिस्ट एक रैखिक डेटा संरचना है जिसमें कई नोड्स होते हैं जो एक दूसरे से जुड़े होते हैं। प्रत्येक नोड में दो फील्ड होते हैं डेटा फील्ड और अगले नोड का पता।

मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट दी गई है, कार्य दिए गए लिंक्ड लिस्ट की शुरुआत में एक नोड डालना है। उदाहरण के लिए,

इनपुट-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→।


  1. - पायथन प्रोग्राम: दिए गए सिंगली लिंक्ड लिस्ट को सर्कुलर लिस्ट में बदलना

    जब एक सिंगली लिंक्ड लिस्ट को सर्कुलर लिंक्ड लिस्ट में बदलने की आवश्यकता होती है, तो convert_to_circular_list नामक एक मेथड परिभाषित की जाती है जो सुनिश्चित करती है कि अंतिम तत्व पहले तत्व को इंगित करे, जिससे यह प्रकृति में सर्कुलर बन जाता है। उदाहरण class Node: def __init__(self, data):

  1. - सर्कुलर लिंक्ड लिस्ट की शुरुआत में नया नोड इन्सर्ट करने के लिए Python प्रोग्राम

    जब सर्कुलर लिंक्ड लिस्ट की शुरुआत में एक नया नोड इन्सर्ट करने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में दो एट्रिब्यूट्स होते हैं: नोड में मौजूद डेटा, और लिंक्ड लिस्ट के अगले नोड तक पहुंच।सर्कुलर लिंक्ड लिस्ट में, हेड और रियर एक-दूसरे के निकट होते हैं। वे एक सर्कल

  1. - पायथन प्रोग्राम: डबल लिंक्ड लिस्ट की शुरुआत में नया नोड डालें

    जब डबल लिंक्ड लिस्ट की शुरुआत में एक नया नोड डालने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में तीन एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, लिंक्ड लिस्ट के अगले नोड तक पहुंच, और लिंक्ड लिस्ट के पिछले नोड तक पहुंच।उदाहरणclass Node: def __init__(self, my_data):