كيفية مسح المكدس

جدول المحتويات:

كيفية مسح المكدس
كيفية مسح المكدس

فيديو: كيفية مسح المكدس

فيديو: كيفية مسح المكدس
فيديو: المكدس (اضافة عناصر الى المكدس) 2024, شهر نوفمبر
Anonim

يعد المكدس أحد أنواع هياكل البيانات المستخدمة على نطاق واسع اليوم في برمجة التطبيقات. خصوصيتها هي مبدأ تنظيم العناصر ، حيث يمكن إضافتها وإزالتها واحدًا تلو الآخر وفقط من خلال "القمة" ، أي وفقًا لمبدأ LIFO. لكن في بعض الأحيان يكون من الضروري مسح المكدس بالكامل مرة واحدة.

كيفية مسح المكدس
كيفية مسح المكدس

ضروري

  • - محرر نصوص أو IDE ؛
  • - مترجم من لغة البرمجة المستخدمة.

تعليمات

الخطوة 1

استخدم طرقًا على كائنات المكدس المصممة خصيصًا لتنظيف المكدس. هم موجودون في معظم الفئات المقابلة للمكتبات والأطر المختلفة. على سبيل المثال ، تحتوي فئة. NET Stack على طريقة مسح. مثال على تطبيقه في C # قد يبدو كالتالي:

Stack oStack = مكدس جديد () ؛ // إنشاء كائن مكدس

oStack. Push ("000") ؛ // ملء المكدس

oStack. Push ("111") ؛

oStack. Clear () ، // امسح المكدس

الخطوة 2

يمكن أيضًا استخدام طرق تغيير عدد عناصر فئات الحاويات ، والتي تُبنى عليها وظائف فئات المكدس غالبًا ، للتنظيف. تحتاج فقط إلى تقليل العدد الحالي للعناصر إلى الصفر. على سبيل المثال ، ترث فئة قالب Qt QStack من فئة قالب QVector ، والتي تحتوي على طريقة تغيير الحجم. مثال على استخدامه يمكن أن يكون مثل هذا:

QStack oStack ؛ // إعلان كائن المكدس

لـ (int i = 0 ؛ i <10 ؛ i ++) oStack.push (i) ؛ // ملء المكدس

oStack.resize (0) ؛ // امسح المكدس

الخطوه 3

يمكن عادةً تنظيف كائن مكدس من خلال عامل التعيين ، والذي يتم تنفيذه غالبًا في الفئات المقابلة. للقيام بذلك ، يجب تعيين كائن مؤقت تم إنشاؤه بواسطة المُنشئ الافتراضي لكائن المكدس المراد مسحه. على سبيل المثال ، لا تحتوي فئة C ++ Standard Library stack Templated class ، وهي عبارة عن محول لفئات قوالب الحاوية ، على طرق لتغيير الرقم بشكل تعسفي أو إزالة جميع العناصر. يمكنك مسحه على النحو التالي:

std:: stack <int، std:: list> oStack؛ // إعلان كائن المكدس

لـ (int i = 0 ؛ i <10 ؛ i ++) oStack.push (i) ؛ // ملء المكدس

oStack = الأمراض المنقولة جنسياً:: مكدس() ؛ // امسح المكد

الخطوة 4

امسح كائن المكدس عن طريق استدعاء مُنشئ النسخة باستخدام عامل التشغيل الجديد مع وسيطة كائن تم إنشاؤها بواسطة المُنشئ الافتراضي:

std:: stack <int، std:: list> oStack؛ // إعلان كائن المكدس

لـ (int i = 0 ؛ i <10 ؛ i ++) oStack.push (i) ؛ // ملء المكدس

الأمراض المنقولة جنسيا الجديدة:: مكدس(سكدس) ؛ // امسح المكد

الخطوة الخامسة

يمكن مسح المكدس عن طريق الاسترداد المتسلسل لجميع العناصر باستخدام الطرق المناسبة:

std:: stack <int، std:: list> oStack؛ // إعلان كائن المكدس

لـ (int i = 0 ؛ i <10 ؛ i ++) oStack.push (i) ؛ // ملء المكدس

while (! oStack.empty ()) oStack.pop () ؛ // امسح المكدس

ومع ذلك ، فإن هذا النهج له تعقيد زمني يعتمد خطيًا على عدد العناصر في المكدس. لذلك ، فإن استخدامه ليس عقلانيًا.

موصى به: