من أهم المشاكل اللي ممكن تنحل باستخدام الستاك هي مشكلة توازن الأقواس. من اسمها مبين شو بتعني هو بتحاكي أي تعبير فيه أقواس معينة

image.png

Examples


تعابير صحيحة وخاطئة

تعابير صحيحة وخاطئة

طيب كيف حكمنا هنا انو هدول تعابير صحيحة او خاطئة؟ أول شي ضربت عيننا عليه هي الأقواس، مثلا بالمثال التاني هناك قوس مطعوج مغلق ولكن مافي قوس يمين مفتوح.

نفس الشي بالرابع بداية بقوس اغلاق مع انه مافي قوس فتح وباخرها قوس فتح مو قوس اغلاق

باختصار كل قوس فتح لازم يكون مقابله قوس يغلقه

الأقواس الها عدة أنواع:

كيف الكومبايلر بيفهم يتعامل مع هيك شي؟ هيك مشكلة تم حلها باستخدام الستاك.

Steps


image.png

ننشئ ستاك ونعتبر انو بس يتم ادخال الأقواس اله حالياً، الخطوات اللي لازم نتبعها كالاَتي طبقاً على هذا المثال

  1. نقوم بادخال القوس مهما كان نوعه المهم يكون قوس مفتوح اول Left
  2. نمشي بالتعبير الرياضي او سطر الكود خطوة خطوة، وبس نلقى قوس اغلاق او Right
  3. نقوم بعمل “بوب” للقوس اللي ادخلناه اول شي ونستمر هكذا مع كل الأقواس بالتعبير
  4. في حال رجعلنا الستاك مو فاضي، معناها التعبير الرياضي خاطئ وغير صالح