কম্পিউটার

একটি লিঙ্কযুক্ত তালিকা C++ এ জোড়া অনুসারে সাজানো আছে কিনা তা পরীক্ষা করুন


আমরা n উপাদান সহ একটি তালিকা L আছে. আমাদের তালিকাটি জোড়া অনুসারে সাজানো হয়েছে কিনা তা পরীক্ষা করতে হবে। ধরুন তালিকাটি {8, 10, 18, 20, 5, 15} এর মত। এটি (8, 10), (18, 20), (5, 15) হিসাবে সাজানো হয়েছে। যদি তালিকায় বিজোড় সংখ্যক উপাদান থাকে, তাহলে শেষটি উপেক্ষা করা হবে।

পদ্ধতিটি খুব সহজ, বাম থেকে ডানে সংখ্যাটি অতিক্রম করুন৷ পরপর দুটি উপাদান নেওয়া হয়, এবং সেগুলি বাছাই করা হয়েছে কিনা তা পরীক্ষা করুন, যদি একটি জোড়া সাজানো না হয়, মিথ্যা ফেরত দিন, যদি কোনও জোড়া পাওয়া না যায়, এটি সাজানো না হয়, সত্য ফেরত দিন৷

উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;
class Node{
   public:
   int data;
   Node *next;
};
void append(struct Node** start, int key) {
   Node* new_node = new Node;
   new_node->data = key;
   new_node->next = (*start);
   (*start) = new_node;
}
bool isPairwiseSorted(Node *start) {
   bool flag = true;
   struct Node* temp = start;
   while (temp != NULL && temp->next != NULL) {
      if (temp->data < temp->next->data) {
         flag = false;
         break;
      }
      temp = temp->next->next;
   }
   return flag;
}
int main() {
   Node *start = NULL;
   int arr[] = {8, 10, 18, 20, 5, 15};
   int n = sizeof(arr)/sizeof(arr[0]);
   for(int i = 0; i<n; i++){
      append(&start, arr[i]);
   }
   if(isPairwiseSorted(start)){
      cout << "This is pairwise sorted";
   } else {
      cout << "This is not pairwise sorted";
   }
}

আউটপুট

This is pairwise sorted

  1. C++ এ একটি লিঙ্কযুক্ত তালিকা সমতল করা

  2. C++ এ বহুস্তরের লিঙ্কযুক্ত তালিকা সমতল করুন

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

  4. সার্কুলারলি ডবললি লিংকড লিস্ট বাছাই করা C++ প্রোগ্রাম