কম্পিউটার টিউটোরিয়াল

C++-এ লিঙ্কড লিস্টে পিক এলিমেন্ট বের করা

একটি লিঙ্কড লিস্ট দেওয়া থাকলে, সেটিতে পিক এলিমেন্ট (দوپাশের নোড চেয়ে বড় মান বালা নোড) বের করতে হবে।

পদ্ধতি

  • নোড স্ট্রাকচার ও ইনসার্ট ফাংশন তৈরি করুন।
  • খালি লিস্ট বা একই নোডের কেস হ্যান্ডেল করুন।
  • prev ভেরিয়েবলে আগের নোডের মান রাখুন।
  • লিস্ট ট্রাভার্স করে বর্তমান নোডের মান prev এবং next-এর চেয়ে বড় কিনা চেক করুন।
  • শেষ নোড আলাদাভাবে চেক করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

struct Node { int data; Node* next; };

void insert(Node** head, int data) {
    Node* n = new Node(); n->data = data; n->next = *head; *head = n;
}

int findPeakElement(Node* head) {
    if (!head) return -1;
    if (!head->next) return head->data;
    int prev = head->data;
    Node* cur;
    for (cur = head->next; cur->next; cur = cur->next) {
        if (cur->data > cur->next->data && cur->data > prev)
            return cur->data;
        prev = cur->data;
    }
    if (cur->data > prev) return cur->data;
    return -1;
}

int main() {
    Node* head = NULL;
    insert(&head, 7); insert(&head, 4); insert(&head, 5);
    insert(&head, 2); insert(&head, 3);
    cout << findPeakElement(head) << endl;
    return 0;
}

আউটপুট

5
  1. লিংকড লিস্ট ফ্ল্যাটেন করা (C++)

  2. C++-এ লিংকড লিস্টে লুপের দৈর্ঘ্য বের করুন

  3. সি++-এ সিঙ্গলি লিংকড লিস্টের প্রাইম নোডগুলোর গুণফল বের করার প্রোগ্রাম

  4. C++-এ ডাবলি লিংকড লিস্টের আকার (Size) বের করার প্রোগ্রাম