کامپیوتر , کامپیوتر و بازهم کامپیوتر ...

چیزی را که نمی توانی بدست آوری فراموش کن و چیزی را که نمی توانی فراموش کنی بدست آور

وبلاگ دیگر من را در این آدرس ببینید
برنامه Linked List با ++C
ساعت ۸:۱٥ ‎ب.ظ روز شنبه ۱٢ تیر ۱۳۸٩  کلمات کلیدی: الگوریتم ، linked list ، برنامه نویسی ، c++

سلام!
امروز برنامه Linked List با ++C رو براتون نوشتم و گذاشتم.

امیدوارم که به کارتون بیاد.

برای دسترسی به برنامه به ادامه مطلب بروید.

با تشکر :دی


#include<iostream>
using namespace std;
class Node
{
public:
      int data;
      Node * next;
      Node(int n)
      {
            data=n;
            next = NULL;
      }
      Node(int n,Node * m)
      {
            data=n;
            next=m;
           
      }
};

class LinkedList
{
public:
       Node * start;
       LinkedList()
       {
        start=NULL;
       }
       void add(int a)
       {
            if (start==NULL)
               start=new Node(a);
            else
            {
                Node * n;
                Node * m;
                n=end();
                m=new Node(a);
                n->next=m;
            }
       }
      
       void removeAll(int a)
       {
            Node * k;
            Node * l;
            k=start;
            l=NULL;
            while((k!=NULL))//&&(k->data!=a))
            {
                   if(k->data==a)
                   {
                                 if (l == NULL) {
                                    start = k->next;
                                    delete k;
                                 }
                                 else {
                                      l->next=k->next;
                                      delete k;
                                 }
                   Node * k;
                   k=l->next;
                   }
                   l = k;
                   k=k->next;
                  
            }
           
       }
      
       void removeFirst(int a)
       {
            Node * k;
            Node * l;
            k=start;
            l=NULL;
            while((k!=NULL))//&&(k->data!=a))
            {
                   if(k->data==a)
                   {
                                 if (l == NULL) {
                                    start = k->next;
                                    delete k;
                                 }
                                 else {
                                      l->next=k->next;
                                      delete k;
                                 }
                                 break;
                   }
                   l = k;
                   k=k->next;
                  
            }
           
       }
       Node * end ()
       {
            Node * p;
            if (start==NULL)
               return NULL;
            p=start;
            while(p->next)
            {
                          p=p->next;           
            }
            return p;
       }
     
};


int main()
{
    LinkedList a;
    a.add(5);
    a.add(4);
    a.add(3);
    a.add(5);
    a.removeAll(5);        
}