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

C++ में सिंगल ट्रैवर्सल में लिंक्ड लिस्ट का सेकंड लास्ट नोड ढूंढें


अब हम देखेंगे कि लिंक्ड लिस्ट में सेकंड लास्ट एलिमेंट कैसे प्राप्त करें। मान लीजिए कुछ एलिमेंट्स हैं जैसे [10, 52, 41, 32, 69, 58, 41], सेकंड लास्ट एलिमेंट 58 है।

इस समस्या को हल करने के लिए, हम दो पॉइंटर्स का उपयोग करेंगे, एक वर्तमान नोड को इंगित करेगा, और दूसरा वर्तमान स्थिति के पिछले नोड को इंगित करेगा, फिर हम तब तक आगे बढ़ेंगे जब तक कि वर्तमान का नेक्स्ट नल न हो जाए, फिर बस पिछले नोड को वापस करें।

उदाहरण

#include 
using namespace std;

class Node {
public:
    int data;
    Node *next;
};

void prepend(Node** start, int new_data) {
    Node* new_node = new Node;
    new_node->data = new_data;
    new_node->next = NULL;
    if ((*start) != NULL){
        new_node->next = (*start);
        *start = new_node;
    }
    (*start) = new_node;
}

int secondLastElement(Node *start) {
    Node *curr = start, *prev = NULL;
    while(curr->next != NULL){
        prev = curr;
        curr = curr->next;
    }
    return prev->data;
}

int main() {
    Node* start = NULL;
    prepend(&start, 15);
    prepend(&start, 20);
    prepend(&start, 10);
    prepend(&start, 9);
    prepend(&start, 7);
    prepend(&start, 17);
    cout << "Second last element is: " << secondLastElement(start);
}

आउटपुट

Second last element is: 20

  1. C++ में मल्टीलेवल लिंक्ड सूची को समतल करना C++ में मल्टीलेवल लिंक्ड सूची को समतल करना

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

  1. C++ में ट्री में दिए गए उपट्री के DFS ट्रैवर्सल में K-वां नोड ज्ञात करें C++ में ट्री में दिए गए उपट्री के DFS ट्रैवर्सल में K-वां नोड ज्ञात करें

    इस समस्या में, हमें आकार N का एक ट्री, ट्री का एक नोड V और k दिया गया है। हमारा कार्य ट्री में दिए गए उपट्री के DFS ट्रैवर्सल में K-वां नोड ज्ञात करना है। हमें शीर्ष V से शुरू होने वाले ट्री के DFS ट्रैवर्सल में k-वां नोड ढूंढना है। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट : V = 2, k = 3 आउ

  1. C++ में इनऑर्डर ट्रैवर्सल में n-वां नोड ढूंढना C++ में इनऑर्डर ट्रैवर्सल में n-वां नोड ढूंढना

    इस समस्या में, हमें एक बाइनरी ट्री और एक पूर्णांक N दिया जाता है। कार्य बाइनरी ट्री के इनऑर्डर ट्रैवर्सल में n-वां नोड ढूंढना है।एक बाइनरी ट्री में एक विशेष शर्त होती है कि प्रत्येक नोड के अधिकतम दो बच्चे हो सकते हैं।ट्रैवर्सल एक प्रक्रिया है जो ट्री के सभी नोड्स को विजिट करती है और उनके मान भी प्रि