Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में लिंक्ड लिस्ट सर्कुलर है या नहीं जांचें


समस्या विवरण

जांचें कि दिया गया लिंक्ड लिस्ट सर्कुलर है या नहीं।

एल्गोरिदम

  1. हेड नोड को स्टोर करें
  2. लिस्ट ट्रैवर्स करें
  3. यदि NULL मिले → सर्कुलर नहीं
  4. यदि हेड नोड पर वापस आ जाएं → सर्कुलर है

उदाहरण कोड

#include <iostream>
using namespace std;

class Node {
public:
    int data;
    Node* next;
};

Node* getNode(int data) {
    Node* newNode = new Node;
    newNode->data = data;
    newNode->next = NULL;
    return newNode;
}

bool isCircularList(Node* start) {
    if (start == NULL) return true;
    Node* node = start->next;
    while (node != NULL && node != start)
        node = node->next;
    return (node == start);
}

int main() {
    Node* start = getNode(10);
    start->next = getNode(20);
    start->next->next = getNode(30);
    start->next->next->next = getNode(40);
    start->next->next->next->next = getNode(50);
    start->next->next->next->next->next = start; // सर्कुलर बनाएं
    
    if (isCircularList(start))
        cout << "The list is circular list";
    else
        cout << "The list is not circular list";
    return 0;
}

आउटपुट

The list is circular list
  1. C++ में डबल लिंक्ड सर्कुलर सूचियाँ C++ में डबल लिंक्ड सर्कुलर सूचियाँ

    सर्कुलर लिंक्ड सूची लिंक्ड सूची का एक रूपांतर है जिसमें पहला तत्व अंतिम तत्व की ओर इशारा करता है और अंतिम तत्व पहले तत्व की ओर इशारा करता है। सिंगली लिंक्ड सूची और डबल लिंक्ड सूची दोनों को सर्कुलर लिंक्ड सूची में बनाया जा सकता है। डबल लिंक्ड सूची में, अंतिम नोड का अगला पॉइंटर पहले नोड की ओर इशारा

  1. C++ में सर्कुलर लिंक्ड सूची के नोड्स का योग C++ में सर्कुलर लिंक्ड सूची के नोड्स का योग

    इस समस्या में, हमें एक सर्कुलर लिंक्ड सूची दी गई है। हमारा कार्य एक प्रोग्राम बनाना है जो सर्कुलर लिंक्ड सूची के नोड्स का योग ढूंढे। हमें बस लिंक्ड सूची के सभी नोड मानों को जोड़ना है। कुछ महत्वपूर्ण परिभाषाएं लिंक्ड सूची डेटा संरचनाओं का एक क्रम है, जो लिंक्स के माध्यम से एक साथ जुड़े हुए हैं।

  1. C++ में सर्कुलर लिंक्ड लिस्ट में नोड्स की गिनती करें C++ में सर्कुलर लिंक्ड लिस्ट में नोड्स की गिनती करें

    हमें नोड्स के साथ एक सर्कुलर लिंक्ड लिस्ट दी गई है और कार्य सर्कुलर लिंक्ड लिस्ट में मौजूद नोड्स की संख्या की गणना करना है। सर्कुलर लिंक्ड लिस्ट लिंक्ड लिस्ट का एक प्रकार है जिसमें पहला तत्व अंतिम तत्व की ओर इंगित करता है और अंतिम तत्व पहले तत्व की ओर इंगित करता है। सिंगली लिंक्ड लिस्ट और डबली लिं