এখন আমরা দেখব কিভাবে লিঙ্ক করা তালিকার দ্বিতীয় শেষ উপাদানটি পেতে হয়। ধরুন কিছু উপাদান আছে যেমন [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