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

C++-এ সিংলি লিঙ্কড লিস্ট থেকে টেইল নোড ডিলিট করা

লিঙ্কড লিস্ট একটি লিনিয়ার ডেটা স্ট্রাকচার যেখানে প্রতিটি নোডের দুটি ফিল্ড থাকে: ডেটা এবং পরবর্তী নোডের ঠিকানা। লিস্টের শেষ নোডকে টেইল নোড বলে। এই টেইল নোডটি ডিলিট করতে হবে।

ইনপুট ১

1 → 2 → 3 → 4 → 5

আউটপুট

1 → 2 → 3 → 4 →

ইনপুট ২

5 → 8 → 3

আউটপুট

5 → 8 →

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

  • একটি prev পয়েন্টার (NULL) এবং temp পয়েন্টার (head) নিন।
  • temp->next != NULL পর্যন্ত লুপ চালিয়ে prev = temp; temp = temp->next করুন।
  • লুপ শেষে temp হবে টেইল নোড, prev হবে সেকেন্ড লাস্ট নোড।
  • delete temp; prev->next = NULL; করুন।

উদাহরণ

#include <iostream>
using namespace std;

class Node {
public:
    int data; Node* next;
    Node(int d) { data = d; next = NULL; }
};

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

void printNode(Node* head) {
    while (head != NULL) {
        cout << head->data << "→";
        head = head->next;
    }
    cout << endl;
}

void deleteAtTail(Node* head) {
    Node* prev = NULL;
    Node* temp = head;
    while (temp->next != NULL) {
        prev = temp;
        temp = temp->next;
    }
    delete temp;
    prev->next = NULL;
}

int main() {
    Node* head = NULL;
    insertAtFirst(head, 5); insertAtFirst(head, 4);
    insertAtFirst(head, 3); insertAtFirst(head, 2);
    insertAtFirst(head, 1);
    deleteAtTail(head);
    printNode(head);
    return 0;
}

আউটপুট

1→2→3→4→
  1. C++-এ হেড পয়েন্টার ছাড়া লিংকড লিস্ট থেকে একটি নোড মুছে ফেলা

  2. C++-এ লিংকড লিস্টে নির্দিষ্ট পজিশনে একটি নোড মুছে ফেলা

  3. C++-এ ডাবলি লিংকড লিস্টে নির্দিষ্ট পজিশনে একটি নোড মুছে ফেলা

  4. সার্কুলার সিংলি লিঙ্কড লিস্ট বাস্তবায়নের C++ প্রোগ্রাম