| الدرس الثاني " queue " | |
|
+3ماسة الأقصى Designer بنت الأردن 7 مشترك |
كاتب الموضوع | رسالة |
---|
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 2:55 am | |
| ما هو Queue : هو عبارة عن هيكل بيانات يستخدم لتخزين البيانات من اجل معالجتها بحيث ان العنص الذي يدخل اولا للطابور يتم معلجته اولا والعنصر الذي يدخل في الاخر هو الذي يتم المعالجه اله في الاخر . مثال على الطابور او الكيو :ـ خلينا نوخذ مثال الاموية فترة الصبح لما يكون فيها الازمة ولنفرض انو واحد من موظفين الامويه الي على الكاونتر ايجى متأخر على الاموية ولما دخلها تفجأه في الازمة الموجوده هناك فحاول انو يتجاوز الطلاب لحتى يدخل على مكانه بس للأسف ما قدر يدخل عارفين ليش ؟؟؟؟ لانو في قانون في الطابور انو اي عنصر بيجي راح يصف في اخر الطابور وعملية الاضافة على الطابور بنسميها " اينكيو "وبعد فترة تحرك الطابور للامام لانو طلع واحد من الطلاب وحاسب فهاي العملية وهي عملية الحذف نسميها " ديكيو" ومتل هيك لحتى ايجى دور الموظف ملاحظ :ـ *** Enqueue : هي اينكيو وهي عملية الاضافة على المصفوفه Dequeu : هي ديكيو وهي عملية الحذف من المصفوفه في المثال السابق فإنه المبدا الذي اتبعنا انه العنصر الذي يدخل في الاول يخرج في الاول وتسمى " فيرست اين فيرست " اوت ( first in first out)
وبمعنى اخر ان عملية الاضافة تتم على العنصر الاخير والذي سوف نسمية في " رير" والحذف يتم على العنصر الاول والذي سوف نسمية " فرونت " ز ملاحظة :ـ*** front : هو فرونت وهو العنصر الاول الذي تتم علية عملية الحذف rear:هو رير وهو العنصر الاخير الذي تم اضافته وتتم عملية الاضافه عليه العمليات التي تحدث على كيو :ـ عملية الاضافة التي تحدث على الكيو وتسمى اينكيو ** وعملية الحذف التي تحدث على المصفوفة وتسمى ديكيو ** وتتكون الكيو من مصفوفه + دليلين وهما " رير + فرونت " ز | |
|
| |
Designer مصمم المنتدى
عدد الرسائل : 1558 العمر : 35 مدير المنتدى : 0 تاريخ التسجيل : 20/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 4:05 am | |
| تسلم ايديكي على الشرح الموفق والمثال التقريبي الواضح جدا والواقعي بنفس الوقت انبلش ان شاء الله مباشرة بالأوبيراشن والا انت عندك حكي ثاني ؟؟ اترك المساحة الك وفي ملفاتي المزيد من الامثلة ننتظر جديدك | |
|
| |
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 4:38 am | |
| يسلمو نجوود وانا راح اضيف هلا متال على الكيو في برمجية سي بلس وبعدها اذا عندك اي اضافات ياريت تضيفهم لانا ما بنتسغنى عنك ولا عن شرحك وانا ولا شي بالسبة الك ولشرحك . يسلمو يا عمري | |
|
| |
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 4:44 am | |
| كود مبدئي للطابور FIFO Queue بلغة C++:
كود: #include
class Queue { private: enum {MAX=10}; int array[MAX]; int back,front;
public: Queue();
void enqueue(int e); int dequeue(); bool isFull(); bool isEmpty(); };
Queue::Queue(): { back(0),front(0); }
void Queue::enqueue(int e) { if(isFull()) { cout<<"\nQueue is Full"; exit(1); }
back=(back+1)%MAX; array[back]=e; }
int Queue::dequeue() { if(isEmpty()) { cout<<"\nQueue is Empty"; exit(1); }
front=(front+1)%MAX; return array[front]; }
bool Queue::isFull() { if( (back+1)%MAX == front ) return true; else return false; }
bool Queue::isEmpty() { if( back == front ) return true; else return false; }
int main() { Queue q; cout<<"\nenqueue(2)"; q.enqueue(2); cout<<"\nenqueue(4)"; q.enqueue(4); cout<<"\nenqueue(6)"; q.enqueue(6);
cout<<"\nDequeue elements\n";
cout<<"dequeue: ""< cout<<"dequeue: "< cout<<"dequeue: "< return 0; } | |
|
| |
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 5:09 am | |
| اول شي اسفه لانو هيك بطلع شكل البرنامج بس لما تعملوا كوبي على البرمجية برجع عادي
وتاني شي بالنسبه لل # include فانه بنكتبها عادي متل ما تعدونا بس مش راضية تزبط هون | |
|
| |
ماسة الأقصى مراقب 1
عدد الرسائل : 960 العمر : 35 التخصص : CS مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 29/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 5:14 am | |
| يسلمو ووووووووو ... بنت الاردن ... على الشرح
وانتي ونجود خير وبركه ... والي بيطلع منكم قبلانينو .. بس اهم شي ندرسه منيح ان شالله
| |
|
| |
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 5:16 am | |
| اكييييييييييييد ماسة اهم شي انو ندرس منيح بس تعي هون شو بتعملي ليش ما تروحي تنامي ما في عنا اطفال بسهروا يلا على النوم | |
|
| |
ماسة الأقصى مراقب 1
عدد الرسائل : 960 العمر : 35 التخصص : CS مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 29/06/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 5:36 am | |
| | |
|
| |
zawahreh المشرف العام
عدد الرسائل : 1124 العمر : 38 التخصص : computer science تاريخ التسجيل : 30/07/2008
| موضوع: رد: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 5:41 am | |
| موفقين جميعا ادرسو منيح وان شاءالله بتجيبوا علامات كويسه | |
|
| |
anwar نجم نشيط
عدد الرسائل : 52 العمر : 36 التخصص : علم حاسوب تاريخ التسجيل : 06/11/2008
| موضوع: الدرس الثاني " queue " الثلاثاء نوفمبر 11, 2008 4:06 pm | |
| يعطيكوا العافية جميعا الموضوع مهم والعرض شيق | |
|
| |
هدوء الكون نجم فعال
عدد الرسائل : 158 العمر : 35 التخصص : CS تاريخ التسجيل : 10/11/2008
| موضوع: رد: الدرس الثاني " queue " الأربعاء نوفمبر 12, 2008 6:57 am | |
| يعطيكيم الف عافية على الشرح بس يا طلاب انا بواجه صعوبة كبيرة بالتركيب بحس انها حفظ في حدا واجه او بواجه هاي المشكلة ؟؟ | |
|
| |
Designer مصمم المنتدى
عدد الرسائل : 1558 العمر : 35 مدير المنتدى : 0 تاريخ التسجيل : 20/06/2008
| موضوع: رد: الدرس الثاني " queue " الأربعاء نوفمبر 12, 2008 7:36 am | |
| توضيح الكود
#include
class Queue اسم القلاس الرئيسي { private: السكوب لخصائص القلاس وتعني خاص enum {MAX=10}; كلمة محجوزة وتعرف الخاصية هذه كشيء اساسي بالبرنامج int array[MAX]; عملية تعريف مصفومة حجمها 10 int back,front; اسماء متغيرات
public: السكوب للميثود Queue(); كونستركتر ويكون له نفس اسم القلاس ومهمة الكونستركتر انشاء اعطاء القيم للخصائص المعرفة في الاعلى
void enqueue(int e); ميثود يعمل على اضافة عنصر للكيو ولا يرجع قيم int dequeue(); ميثود يعمل على ازاله عنصر من الكيو ملاحظة : تتم الاضافة في النهاية والحذف من البداية كما ذكر مسبقا bool isFull(); ميثود يفحص حاله الكيو اذا كانت ممتلئة ام لا bool isEmpty(); اذا كانت فارغة ام لا ويرجع بصح او خطأ };
والان عملية الانشلايزاشن لكل ميثود Queue::Queue(): { back(0),front(0); }
void Queue::enqueue(int e) { if(isFull()) { cout<<"\nQueue is Full"; exit(1); }
back=(back 1)%MAX; array[back]=e; }
int Queue::dequeue() { if(isEmpty()) { cout<<"\nQueue is Empty"; exit(1); }
front=(front 1)%MAX; return array[front]; }
bool Queue::isFull() { if( (back 1)%MAX == front ) return true; else return false; }
bool Queue::isEmpty() { if( back == front ) return true; else return false; }
int main() { Queue q; cout<<"\nenqueue(2)"; q.enqueue(2); cout<<"\nenqueue(4)"; q.enqueue(4); cout<<"\nenqueue(6)"; q.enqueue(6);
cout<<"\nDequeue elements\n";
cout<<"dequeue: ""< cout<<"dequeue: "< cout<<"dequeue: "< return 0; } | |
|
| |
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: رد: الدرس الثاني " queue " الأربعاء نوفمبر 12, 2008 3:39 pm | |
| هدوء الكون هي المادة بالفعل حفظ اكتر ما تكون فهم بس كمان ما بنفع الحفظ وبس لازم تفهميها لحتى ضلك حافضيتها فلما تدرسي المادة وانتي بتحفظي في الكود اتبعيه لحتى ضلك حافضيته . | |
|
| |
بنت الأردن نجم فعال
عدد الرسائل : 224 العمر : 35 مدير المنتدى : https://2img.net/i/fa/empty.gif تاريخ التسجيل : 24/06/2008
| موضوع: رد: الدرس الثاني " queue " الأربعاء نوفمبر 12, 2008 3:42 pm | |
| شكووورة نجود يا عمري على شرح الكود بس حابه اوضح شي انه rear=back يعني التنين بأشروا لاخر عنصر موجود في المصفوفه . | |
|
| |
هدوء الكون نجم فعال
عدد الرسائل : 158 العمر : 35 التخصص : CS تاريخ التسجيل : 10/11/2008
| موضوع: رد: الدرس الثاني " queue " الأربعاء نوفمبر 12, 2008 11:25 pm | |
| يعطيكم العافية اصحابي يعني الحمد لله في ناس بيعاني مثل انا ما بعاني من هالمادة بس والله امتحان الفيرست كان سهل بس لو انه الكود ما كان فيه شوية صعوبة | |
|
| |
همسة الجنوب نجم جديد
عدد الرسائل : 2 العمر : 35 التخصص : نظم معلومات حاسوبية تاريخ التسجيل : 18/11/2008
| موضوع: رد: الدرس الثاني " queue " الخميس نوفمبر 27, 2008 4:01 pm | |
| | |
|
| |
Designer مصمم المنتدى
عدد الرسائل : 1558 العمر : 35 مدير المنتدى : 0 تاريخ التسجيل : 20/06/2008
| موضوع: رد: الدرس الثاني " queue " الخميس نوفمبر 27, 2008 10:30 pm | |
| حياكي الله يا همسة الجنوب والمنتدى كله بيرحب فيكي هلا والله | |
|
| |
| الدرس الثاني " queue " | |
|