English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليميات C++ الأساسية

تحكم في عملية C++

الوظائف في C++

مجموعات بيانات C++ و 字ائن

هياكل بيانات C++

كلاس C++ وعمليات

المؤشرات في C++

التنسيق في C++

دليل C++ STL

دليل C++

استخدام دالة pop() الخاصة بكومة C++ ومثال

Stack (ال堆) في C++ STL

يستخدم دالة pop() الخاصة بكومة C++ لإزالة العنصر الأعلى في الكومة. تقوم هذه الدالة بإجراء عملية الإزالة. يتم إزالة العناصر من الكومة من الأعلى. أولاً، يتم إزالة العنصر الذي تم إدراجه مؤخرًا. تتبع الكومة مبدأ LIFO، أي آخر دخل أولاً يخرج أولاً، لذلك تتبع عملية الإزالة هذا النظام.

النحو

void pop()

المعاملات

هذه الدالة لا تأخذ أي معاملات، تستخدم فقط ل�除 العنصر الأعلى. وكذلك، نظرًا لأن الكومة تتبع مبدأ LIFO، لا نحتاج إلى تحديد العنصر الذي نريد إزالته، لأن العنصر الأعلى سيتم إزالته تلقائيًا.

قيمة العودة

هذا الدالة تستخدم فقط ل�除 العناصر من الكومة ولا تعود أي قيمة. لذلك، يمكننا القول أن نوع العودة لدالة هذه هي void.

مثال 1

// هذا البرنامج يستخدم لعرض استخدام دالة pop() الخاصة بالكومة من خلال إدراج قيم عددية بسيطة.

#include <iostream>
#include <stack>
using namespace std;
int main()
{
	stack<int> newstack; 
	for(int j=0; j<5; j++)
	newstack.push(j);
	cout << " استخراج العناصر؟";
	while (!newstack.empty())
	{
		cout << " " << newstack.top();
		newstack.pop();
	}
	cout << "\n";
	return 0;
}

الخروج:

استخراج العناصر... 4 3 2 1 0

مثال 2

// هذا البرنامج يستخدم لعرض استخدام دالة pop() الخاصة بالكومة من خلال إدراج قيم عددية بسيطة.

#include <iostream>
#include <stack>
using namespace std;
int main()
{
	stack<int> newstack; 
	newstack.push(11);
	newstack.push(22);
	newstack.push(33);
	newstack.push(44);
	cout << " استخراج العناصر؟";
	newstack.pop();
	newstack.pop();
	while (!newstack.empty())
	{
		cout << " \" << newstack.top();
		newstack.pop();
	}
	cout << "\n";
	return 0;
}

الخروج:

استخراج العناصر... 22 11

مثال 3

// هذا البرنامج يستخدم لعرض استخدام دالة pop() الخاصة بالكومة من خلال إدراج قيم عددية بسيطة.

#include <iostream>
#include <stack>
using namespace std;
int main()
{
	stack<int> newstack;
	newstack.push(69);
	newstack.push(79);
	newstack.push(80);
	newstack.push(85);
	newstack.push(90);
	while (!newstack.empty())
	{
		cout << " " << newstack.top();
		newstack.pop();
	}
	return 0;
}

الخروج:

90 85 80 79 69

معقد

تعقيد هذه الوظيفة ثابت، ويتم تنفيذ عملية الحذف أو الحذف من القاعده فقط في القاعده، دون زيادة أي تعقيد.

الصراع البياني

تم تعديل الكونتراينر والعناصر الموجودة فيه. من خلال عملية الحذف، يتم تعكس التغيير في العنصر الموجود في القاعده، ويتم نقل القاعده نحو الأسفل بواحدة. يمكن إثبات ذلك كـ top = top--.

الأمان من الاستثناءات

يقدم ضماناً لتنفيذ العمليات المماثلة لتلك التي تتم على عناصر القاعده في الكونتراينر.

Stack (ال堆) في C++ STL