কম্পিউটার

C++ ব্যবহার করে লিঙ্ক করা তালিকার প্রথম নোডটি সরান


একটি লিঙ্কযুক্ত তালিকা দেওয়া হলে, আমাদের এটির প্রথম উপাদানটি সরাতে হবে এবং পয়েন্টারটিকে নতুন তালিকার মাথায় ফিরিয়ে দিতে হবে৷

Input : 1 -> 2 -> 3 -> 4 -> 5 -> NULL
Output : 2 -> 3 -> 4 -> 5 -> NULL

Input : 2 -> 4 -> 6 -> 8 -> 33 -> 67 -> NULL
Output : 4 -> 6 -> 8 -> 33 -> 67 -> NULL

প্রদত্ত সমস্যায়, আমাদের তালিকার প্রথম নোডটি সরাতে হবে এবং আমাদের মাথাটি দ্বিতীয় উপাদানে নিয়ে যেতে হবে এবং মাথাটি ফিরিয়ে দিতে হবে।

সমাধান খোঁজার পদ্ধতি

এই সমস্যায়, আমরা মাথাটিকে পরবর্তী অবস্থানে নিয়ে যেতে পারি এবং তারপরে পূর্ববর্তী নোডটি মুক্ত করতে পারি।

উদাহরণ

#include <iostream>
using namespace std;
/* Link list node */
struct Node {
   int data;
   struct Node* next;
};
void push(struct Node** head_ref, int new_data) { // pushing the data into the list
   struct Node* new_node = new Node;
   new_node->data = new_data;
   new_node->next = (*head_ref);
   (*head_ref) = new_node;
}
int main() {
   Node* head = NULL;
   push(&head, 12);
   push(&head, 29);
   push(&head, 11);
   push(&head, 23);
   push(&head, 8);
   auto temp = head; // temp becomes head
   head = head -> next; // our head becomes the next element
   delete temp; // we delete temp i.e. the first element
   for (temp = head; temp != NULL; temp = temp->next) // printing the list
      cout << temp->data << " ";
   return 0;
}

আউটপুট

23 11 29 12

উপরের কোডের ব্যাখ্যা

আমাদের শুধু এই প্রোগ্রামে মাথাটি তার পরবর্তী উপাদানে স্থানান্তর করতে হবে এবং তারপরে পূর্ববর্তী উপাদানটি মুছে ফেলতে হবে এবং তারপরে নতুন তালিকা প্রিন্ট করতে হবে। প্রদত্ত প্রোগ্রামের সামগ্রিক সময়ের জটিলতা হল O(1) যার অর্থ হল আমাদের প্রোগ্রাম প্রদত্ত ইনপুটের উপর নির্ভর করে না এবং এটি আমরা অর্জন করতে পারি এমন সেরা জটিলতা৷

উপসংহার

এই নিবন্ধে, আমরা লিঙ্ক করা তালিকার প্রথম নোডটি সরানোর জন্য একটি সমস্যার সমাধান করি। আমরা এই সমস্যার জন্য C++ প্রোগ্রাম এবং আমরা যে সম্পূর্ণ পদ্ধতির সমাধান করেছি তাও শিখেছি। আমরা অন্যান্য ভাষা যেমন সি, জাভা, পাইথন এবং অন্যান্য ভাষায় একই প্রোগ্রাম লিখতে পারি। আমরা আশা করি আপনার এই নিবন্ধটি সহায়ক হবে৷


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

  2. C++ এ একটি লিঙ্ক করা তালিকায় Nth নোড পেতে একটি ফাংশন লিখুন

  3. C++ এ রিভার্স লিঙ্কড লিস্ট II

  4. একটি লিঙ্ক করা তালিকায় একটি নোডের প্রথম উপস্থিতি মুছে ফেলার জন্য C# প্রোগ্রাম