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

C++ में सिंगल ट्रैवर्सल में लिंक की गई सूची का दूसरा अंतिम नोड खोजें

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

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

उदाहरण

#include<iostream>
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++ में एक बहुस्तरीय लिंक्ड सूची को समतल करें

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

  1. C++ में ट्री में दिए गए सबट्री के DFS ट्रैवर्सल में Kth नोड खोजें

    इस समस्या में, हमें N आकार का एक पेड़, V और k के पेड़ का एक नोड दिया जाता है। हमारा काम है किसी ट्री में दिए गए सबट्री के DFS ट्रैवर्सल में Kth नोड ढूंढना । हमें शीर्ष V से शुरू होने वाले पेड़ के DFS ट्रैवर्सल में kth नोड खोजने की आवश्यकता है। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट :

  1. सी++ में इनऑर्डर ट्रैवर्सल का एन-वें नोड खोजें

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