• 0
Luna Volver A salir

stack using linked list without poniters

سؤال

السلام عليكم

اخواني الكرام

ممكن تساعدوني في تصحيح هذا الكود

هذا كود استخدام المكدس في القوائم المتصلة بأستخدام المؤشرات و الوراثة هل لكم مساعدتي و تحويله بدون المؤشرات و الوراثة

ارجووووكم

#include < iostream.h >#include < stdlib.h >#include < stdio.h >class Cell{friend class Stacker;public:   Cell(void *ptr, Cell *lst)   {      item = ptr;      next = lst;   }private:   void *item;   Cell *next;};class Stacker{public:   Stacker(void (* d)(void *)) { dispfn = d; head = NULL; }   void  push(void *t)   {      Cell *ptr;      if (t == NULL) return;      Cell *h = new Cell(t, head);      head = h;   }   void *pop()   {      if (head == NULL) return NULL;      void *ptr = head;      void *t = head->item;      head = head->next;      delete ptr;      return t;   }   void display()   {     if (head == NULL) { cout << "(empty)\n";  return; }     for (Cell *t=head ; t != NULL ; t=t->next) (dispfn)(t->item);     printf("\n");   }   int   empty()  {  return head == NULL;  }private:   Cell *head;   void (* dispfn)(void *);};void intdisplay(void *t){   cout << *(int *)t << " ";}class IntStack{public:   IntStack() { stk = new Stacker(intdisplay);  }   void push(int data)   {      int *n = new int;      *n = data;      stk->push(n);   }   int pop()   {      void *ptr = stk->pop();      if (ptr == NULL) return -1;      return *(int *)ptr;   }   void display() { stk->display(); }private:   Stacker *stk;};void main(){   IntStack *s = new IntStack();   int d;   s->display();   s->push(1);   s->display();   s->push(2);   s->display();   s->push(3);   s->display();   s->push(4);   s->display();   s->pop();   s->display();   s->pop();   s->display();   s->push(10);   s->display();   s->pop();   s->display();   s->pop();   s->display();   s->pop();   s->display();   s->pop();   s->display();   s->pop();   s->display();}

اررررررررررررررررررررررررجوووووووووووووووووووووووووووووووكمــــــــــــــــــــــــــــــــــــــــــــ

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0
هذا كود استخدام المكدس في القوائم المتصلة بأستخدام المؤشرات و الوراثة هل لكم مساعدتي و تحويله بدون المؤشرات و الوراثة

أولا: الكود لا يستخدم الوراثة على الإطلاق.

ثانيا: إستخدام المؤشرات أمر حيوي بذلك الكود و حذفها يعنى إعادة كتابته من جديد و الناتج سيكون برنامج محتلف عن الحالي، يعنى انت تطلب كتابة برنامج جديد.

ثالثا: إذا كنت درست الـ stack و فهمته و لديك خلفية و لو بسيطه بلغة C++/C ستعرف كيفية كتابة مثال بسيط للتطبيق على ما فهمته.

رابعا: إذا كان الأمر عسير الفهم عليك فبإمكانك البحث دخل القسم فإن لم تجد فسأل و ستجد العديد ممن يتقدم للإجابة.

 

أخى/أختى:

بقدر الكد تكتسب المعالي ... و من طلب العلا سهر الليالي

و من طلب العلا بغير كد ... أضاع العمر فى طلب المحال

 

 

و الله ولي التوفيق

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

 

حدث خطأ

لقد وصلت إلى الحد الأقصى للنقاط الإيجابية لهذا اليوم

 

 

لافضّ فوك يااخي العزيز C++er

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

أخى/أختى:

بقدر الكد تكتسب المعالي ... و من طلب العلا سهر الليالي

و من طلب العلا بغير كد ... أضاع العمر فى طلب المحال

 

 

و الله ولي التوفيق

 

 و الله يا اخي

منذ اسبوع و انا ابحث و احاول

 

كما اني درست c++ , Java

و ايضا ايجيد لغه فيجوال بيسك نوعا ما

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .