यहां हम लिंक की गई सूची में दूसरा सबसे बड़ा तत्व देखेंगे। मान लीजिए कि संख्यात्मक मानों के साथ 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