موسسه خیریه محک

شهر ریاضی بازی-ریاضی

برای ایجاد لیست پیوندی از چه چیزی استفاده کنم؟

+2 امتیاز
736 نمایش

برای ایجاد لیست پیوندی از کلاس باید استفاده کنم یا از ساختار؟

یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده سه شنبه ۱۴ آذر ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده شنبه ۲۴ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

معمولا برای تولید لیست پیوندی دو تا کلاس تعریف میکنن، به صورت زیر:

class node{
      friend list;
      noode *next;

      public:
             int data;
      };
class list{
            node *head;
            public:
                   void add(int i);
                   node *find(list i);
            };

ولی من دیدم میشه همین کار رو در یک کلاس انجام داد ولی نوع داده ای که برای هر گره میخواد تعریف بشه، توسط ساختار در همون یک کلاس تعریف شه.
مثلا اینجوری:

class List {
    struct Node {
        int data;
        Node * next;
    };

    Node * head;

public:
    List() {
        head = NULL;
    }

    ~List() {
        while(head != NULL) {
            Node * n = head->next;
            delete head;
            head = n;
        }
    }

    void add(int value) {
        Node * n = new Node;
        n->data = value;
        n->next = head;
        head = n;
    }

    // ...
};
پاسخ داده شده سه شنبه ۱۹ دی ۱۳۹۱ توسط CPP_Crawler4