কম্পিউটার

C++ এ এককভাবে লিঙ্ক করা তালিকায় ক্ষুদ্রতম এবং বৃহত্তম উপাদান খুঁজুন


এই সমস্যায়, আমরা একটি একক লিঙ্ক তালিকা দেওয়া হয়. আমাদের কাজ হল একক লিঙ্কযুক্ত তালিকায় সবচেয়ে ছোট এবং বৃহত্তম উপাদানগুলি খুঁজে বের করা৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

linked List : 5 -> 2 -> 7 -> 3 ->9 -> 1 -> 4

আউটপুট

Smallest element = 1
Largest element = 9

সমাধান পদ্ধতি

সমস্যার একটি সহজ সমাধান হল লিঙ্ক করা তালিকা নোডবাই নোড অতিক্রম করে। এর আগে, আমরা maxElement এবং minElement কে প্রথম এলিমেন্টের মান অর্থাৎ head -> ডেটার সাথে শুরু করব। তারপর আমরা এলিমেন্ট দ্বারা লিঙ্কডলিস্ট এলিমেন্টকে অতিক্রম করব। এবং তারপর maxElement এর সাথে বর্তমান নোডের মান তুলনা করুন এবং maxElement ভেরিয়েবলে বৃহত্তর মান সংরক্ষণ করুন। minElement এ ছোট মান সঞ্চয় করতে একই কাজ করুন। ট্রাভার্সাল হয়ে গেলে উভয় মানই প্রিন্ট করুন।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
struct Node {
   int data;
   struct Node* next;
};
void printLargestSmallestLinkedList(struct Node* head) {
   int maxElement = INT_MIN;
   int minElement = INT_MAX;
   while (head != NULL) {
      if (minElement > head->data)
         minElement = head->data;
      if (maxElement < head->data)
         maxElement = head->data;
      head = head->next;
   }
   cout<<"Smallest element in the linked list is : "<<minElement<<endl;
   cout<<"Largest element in the linked list is : "<<maxElement<<endl;
}
void push(struct Node** head, int data) {
   struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
   newNode->data = data;
   newNode->next = (*head);
   (*head) = newNode;
}
int main() {
   struct Node* head = NULL;
   push(&head, 5);
   push(&head, 2);
   push(&head, 7);
   push(&head, 3);
   push(&head, 9);
   push(&head, 1);
   push(&head, 4);
   printLargestSmallestLinkedList(head);
   return 0;
}

আউটপুট

Smallest element in the linked list is : 1
Largest element in the linked list is : 9

  1. C++ এ সাজানো এবং ঘোরানো লিঙ্ক তালিকায় ঘূর্ণন গণনা করুন

  2. সি++ এ বারবার এককভাবে লিঙ্ক করা তালিকার মাঝখানে খুঁজুন

  3. C++ এ এককভাবে সার্কুলার লিঙ্কড তালিকায় সর্বনিম্ন এবং সর্বোচ্চ উপাদান খুঁজুন

  4. C++ এ এককভাবে লিঙ্কযুক্ত তালিকায় বিকল্প বিজোড় এবং জোড় নোড