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

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

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

دالة C++

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

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

فئات C++ وكتل

المرشحات C++

الوراثة C++

دليل C++ STL

دليل مرجعي C++

استخدام دالة top() في Stack C++ ومثال

STL Stack (الصندوق) C++

يستخدم دالة top() في Stack C++ لتحويل قيمة العنصر الأعلى. العنصر الأعلى هو العنصر الذي تم إضافته إلى ال堆栈 مؤخرًا. العنصر الذي تم إضافته آخرًا هو العنصر الأعلى. في جميع العناصر التي تظهر في ال堆栈، يكون العنصر الأعلى هو الأكثر وضوحًا والأكثر أهمية، لأن جميع العمليات الرئيسية على ال堆栈 تتم على العنصر الأعلى. سواء كان دفع أو سحب أو أي عملية أخرى، يتم تنفيذ جميع العمليات في الموقع الأعلى.

النحو

value_type& top();
const value_type& top() const;

المعاملات

يستخدم هذا الدالة فقط لتحويل قيمة العنصر الأعلى دون أي معاملات، لذلك لا تحتاج إلى أي معاملات. نوع العودة للدالة يعتمد على نوع القيمة في ال堆栈.

القيمة المعدة

يعود هذا الدالة إلى العنصر الأعلى في ال堆栈.

مثال 1

// يوضح البرنامج استخدام دالة top() في ال堆栈 للحصول على قيمة العنصر الأعلى.

#include <iostream>
#include <stack>
int main()
{
	std::stack<int> newstack;
	newstack.push(24);
	newstack.push(80);
	newstack.top() += 20;
	std::cout << "newstack.top() تعديل إلى" << newstack.top();
	return 0;
}

الإخراج:

تعديل newstack.top() إلى 100

مثال 2

// يوضح البرنامج استخدام دالة top() في ال堆栈 للحصول على قيمة العنصر الأعلى.

#include <iostream>
#include <stack>
using namespace std;
int main()
{
	int result = 0;
	stack<int> newstack;
	newstack.push(2);
	newstack.push(7);
	newstack.push(4);
	newstack.push(5);
	newstack.push(3);
	while(!newstack.empty())
	{
	   result = result + newstack.top();
	   newstack.pop();
	}
	cout << result;
	return 0;
}

الإخراج:

21

مثال 3

// يوضح البرنامج استخدام دالة top() في ال堆栈 للحصول على قيمة العنصر الأعلى.

#include <iostream>      
#include <stack>          
int main ()
{
  std::stack<int> newstack;
  newstack.push(9);
  newstack.push(14);
   std::cout << "newstack.top() is " << newstack.top() << '\n';
  return 0;
}

الإخراج:

newstack.top() is 14

معقد

تعقيد الدالة ثابت. لا يأخذ هذا الدالة أي وقت أو مساحة إضافية لاسترجاع قيمة العنصر الأعلى.

التنافس على البيانات

يتحقق هذا الدالة من المصدر، ويعيد العنصر الأخير المضيف. يقدم العنصر الأعلى في القاع.

الأمان الاستثنائي

يقدم ضماناً يعادل العمليات التي تتم على عناصر القاعدة

STL Stack (الصندوق) C++