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

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

यहां हम लिंक की गई सूची में दूसरा सबसे बड़ा तत्व देखेंगे। मान लीजिए कि संख्यात्मक मानों के साथ n अलग-अलग नोड हैं। तो अगर सूची [12, 35, 1, 10, 34, 1] जैसी है, तो दूसरा सबसे बड़ा तत्व 34 होगा।

यह प्रक्रिया एक सरणी में दूसरे सबसे बड़े तत्व की खोज के समान है, हम सूची के माध्यम से आगे बढ़ेंगे और तुलना करके दूसरा सबसे बड़ा तत्व ढूंढेंगे।

उदाहरण

#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 secondLargestElement(Node *start) {
   int first_max = INT_MIN, second_max = INT_MIN;
   Node *p = start;
   while(p != NULL){
      if (p->data > first_max) {
         second_max = first_max;
         first_max = p->data;
      }else if (p->data > second_max)
         second_max = p->data;
         p = p->next;
   }
   return second_max;
}
int main() {
   Node* start = NULL;
   prepend(&start, 15);
   prepend(&start, 16);
   prepend(&start, 10);
   prepend(&start, 9);
   prepend(&start, 7);
   prepend(&start, 17);
   cout << "Second largest element is: " << secondLargestElement(start);
}

आउटपुट

Second largest element is: 16

  1. सी ++ में लिंक्ड सूची में लूप की लंबाई पाएं

    इस समस्या में, हमें एक लिंक की गई सूची दी जाती है जिसमें लूप हो सकते हैं। हमारा कार्य लिंक्ड सूची में लूप की लंबाई ज्ञात करना है। समस्या का विवरण: हमें लूप में नोड्स की संख्या गिनने की आवश्यकता है यदि इसमें लूप है अन्यथा -1 लौटाएं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: लिंक्ड-लिस्

  1. C++ में सर्कुलर लिंक्ड लिस्ट के नोड्स का योग

    इस समस्या में, हमें एक वृत्ताकार लिंक्ड सूची दी गई है। हमारा काम सर्कुलर लिंक्ड लिस्ट के नोड्स के योग को खोजने के लिए एक प्रोग्राम बनाना है। हमें केवल लिंक की गई सूची के सभी नोड मानों को जोड़ने की आवश्यकता है। कुछ महत्वपूर्ण परिभाषाएं लिंक्ड लिस्ट डेटा संरचनाओं का एक क्रम है, जो लिंक के माध्य

  1. सी++ में डबल लिंक्ड लिस्ट का आकार खोजने का कार्यक्रम

    इस समस्या में हमें एक डबल लिंक्ड लिस्ट दी जाती है। हमारा काम C++ में डबली लिंक्ड लिस्ट का आकार खोजने के लिए एक प्रोग्राम बनाना है। डबल लिंक्ड लिस्ट एक विशेष प्रकार की लिंक्ड लिस्ट है जिसमें सिंगल लिंक्ड लिस्ट की तुलना में आगे और पीछे दोनों तरह से नेविगेशन संभव है। डबल लिंक्ड सूचियों की अवधारणा को