কম্পিউটার

C++ এ পুনরাবৃত্তি ব্যবহার করে লিঙ্ক করা তালিকার বিকল্প নোড প্রিন্ট করুন


একটি লিঙ্কযুক্ত তালিকা একটি রৈখিক ডেটা কাঠামো যা উপাদানটিকে অ-সংলগ্ন মেমরি অবস্থানগুলিতে সংরক্ষণ করে। প্রতিটি উপাদানে লিঙ্ক করা তালিকার পরবর্তী উপাদানের একটি পয়েন্টার থাকে৷

উদাহরণ

C++ এ পুনরাবৃত্তি ব্যবহার করে লিঙ্ক করা তালিকার বিকল্প নোড প্রিন্ট করুন

এই সমস্যায়, আমাদের একটি লিঙ্কযুক্ত তালিকা দেওয়া হয়েছে এবং আমাদের এই লিঙ্কযুক্ত তালিকার উপাদানগুলি প্রিন্ট করতে হবে তবে শুধুমাত্র বিকল্প উপাদানগুলি প্রিন্ট করতে হবে। সমস্যাটি আরও ভালভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

Input : 2 -> 4 -> 1 -> 67 -> 48 -> 90
Output : 2 -> 1 -> 48

ব্যাখ্যা - আমরা লিঙ্ক করা তালিকায় বিকল্প উপাদানগুলি মুদ্রণ করব। তাই প্রথম, তৃতীয় এবং পঞ্চম উপাদান মুদ্রিত হয়।

আমরা একটি পতাকা উপাদান ব্যবহার করব যা প্রাথমিকভাবে 0 হবে এবং প্রতিটি পুনরাবৃত্তিতে বাড়ানো হবে যা উপাদানগুলিকে প্রিন্ট করে অন্যথায় এটি হ্রাস করে এবং পতাকাটি 0 হলে আমরা নোডের মান প্রিন্ট করব।

উদাহরণ

#include <stdio.h>
#include <stdlib.h>
struct Node {
   int data;
   struct Node* next;
};
void printAlternateNode(struct Node* head){
   int flag = 0;
   while (head != NULL) {
      if (flag == 0){
         printf(" %d ", head->data);
         flag = 1;
      }
      else
         flag = 0;
         head = head->next;
   }
}
void insertNode(struct Node** head_ref, int new_data){
   struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
   new_node->data = new_data;
   new_node->next = (*head_ref);
   (*head_ref) = new_node;
}
int main(){
   struct Node* head = NULL;
   insertNode(&head, 23);
   insertNode(&head, 4);
   insertNode(&head, 98);
   insertNode(&head, 5);
   insertNode(&head, 71);
   printAlternateNode(head);
   return 0;
}

আউটপুট

71  98  23 

  1. লিংকড লিস্টের বিকল্প নোড (পুনরাবৃত্ত পদ্ধতি) সি ভাষায় প্রিন্ট করুন

  2. C++ এ লিঙ্ক করা তালিকার বিকল্প নোডের যোগফল

  3. C++ এ লিঙ্ক করা তালিকায় নোডের ছোট উপাদানের যোগফল

  4. C++ এ সার্কুলার লিঙ্ক তালিকায় নোড গণনা করুন