अब हम देखेंगे कि लिंक की गई सूची में दूसरा अंतिम तत्व कैसे प्राप्त करें। मान लीजिए कि [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