المكدسات والطوابير
افهموا هياكل بيانات المكدس (LIFO) والطابور (FIFO) وتطبيقاتها
المكدسات والطوابير درس مجاني في C Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C Academy 3 دروس في المجموع.
المكدسات والطوابير في C
المكدسات والطوابير في C
المكدسات والطوابير بنيتا بيانات خطيتان تُستخدمان لتخزين البيانات وإدارتها.
في هذا الدرس، ستتعلمون:
- كيفية عمل المكدسات (LIFO - الداخل أخيرًا، الخارج أولًا).
- كيفية عمل الطوابير (FIFO - الداخل أولًا، الخارج أولًا).
- كيفية تنفيذ المكدسات والطوابير في C.

ما المكدس؟
ما المكدس؟
يتبع المكدس مبدأ الداخل أخيرًا، الخارج أولًا (LIFO).
العمليات:
- Push - إضافة عنصر إلى القمة.
- Pop - إزالة العنصر الموجود في القمة.
- Peek - عرض العنصر الموجود في القمة دون إزالته.
مثال: تنفيذ مكدس
مثال: تنفيذ مكدس
يوضح هذا البرنامج عمليات المكدس باستخدام مصفوفة.
#include <stdio.h>
#define MAX 5
int stack[MAX], top = -1;
void push(int value) {
if (top == MAX - 1) {
printf("Stack Overflow\n");
} else {
stack[++top] = value;
}
}
int pop() {
if (top == -1) {
printf("Stack Underflow\n");
return -1;
} else {
return stack[top--];
}
}
int main() {
push(10);
push(20);
printf("Popped: %d\n", pop());
return 0;
}ما الطابور؟
ما الطابور؟
يتبع الطابور مبدأ الداخل أولًا، الخارج أولًا (FIFO).
العمليات:
- Enqueue - إضافة عنصر إلى المؤخرة.
- Dequeue - إزالة عنصر من المقدمة.
- Peek - عرض العنصر الموجود في المقدمة دون إزالته.
مثال: تنفيذ طابور
مثال: تنفيذ طابور
يوضح هذا البرنامج عمليات الطابور باستخدام مصفوفة.
#include <stdio.h>
#define MAX 5
int queue[MAX], front = -1, rear = -1;
void enqueue(int value) {
if (rear == MAX - 1) {
printf("Queue Overflow\n");
} else {
if (front == -1) front = 0;
queue[++rear] = value;
}
}
int dequeue() {
if (front == -1 || front > rear) {
printf("Queue Underflow\n");
return -1;
} else {
return queue[front++];
}
}
int main() {
enqueue(10);
enqueue(20);
printf("Dequeued: %d\n", dequeue());
return 0;
}الطابور الدائري
الطابور الدائري
يتغلب الطابور الدائري على قيود الطابور العادي بإعادة استخدام المساحات الفارغة.
تبقى العمليات نفسها، لكنها تلتف حول المصفوفة.
مثال: طابور دائري
مثال: طابور دائري
يوضح هذا البرنامج تنفيذ طابور دائري.
#include <stdio.h>
#define MAX 5
int queue[MAX], front = -1, rear = -1;
void enqueue(int value) {
if ((rear + 1) % MAX == front) {
printf("Queue Overflow\n");
} else {
if (front == -1) front = 0;
rear = (rear + 1) % MAX;
queue[rear] = value;
}
}
int dequeue() {
if (front == -1) {
printf("Queue Underflow\n");
return -1;
}
int data = queue[front];
if (front == rear) {
front = rear = -1;
} else {
front = (front + 1) % MAX;
}
return data;
}
int main() {
enqueue(10);
enqueue(20);
printf("Dequeued: %d\n", dequeue());
return 0;
}تطبيقات المكدسات والطوابير
تطبيقات المكدسات والطوابير
تُستخدم المكدسات في:
- إدارة استدعاءات الدوال (الاستدعاء الذاتي).
- عمليات التراجع والإعادة.
- تقييم التعابير.
تُستخدم الطوابير في:
- جدولة المهام في أنظمة التشغيل.
- إدارة الطلبات في خوادم الويب.
- نقل البيانات في الشبكات.
الملخص
الملخص
في هذا الدرس، تعلمتم:
- كيفية عمل المكدسات والطوابير.
- كيفية تنفيذ عمليات المكدسات والطوابير.
- تطبيقات المكدسات والطوابير.
سنستكشف بعد ذلك الأشجار والرسوم البيانية في C!

الأسئلة الشائعة
هل درس «المكدسات والطوابير» مجاني؟
نعم — نص درس «المكدسات والطوابير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C Academy 3 دروس في المجموع.
ماذا ستتعلم في «المكدسات والطوابير»؟
افهموا هياكل بيانات المكدس (LIFO) والطابور (FIFO) وتطبيقاتها تتمرن على C Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C Academy؟
لا تُشترط خبرة سابقة. C Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «المكدسات والطوابير»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C Academy هذا؟
نعم. كل درس في C Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- القوائم المرتبطة
- المكدسات والطوابير
- الأشجار والرسوم البيانية