فئة System::Collections::Generic::Queue

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
معاملالوصف
Tنوع العنصر.

Nested classes

الطرق

طريقةالوصف
virtual Clear()يحذف جميع العناصر في الطابور.
virtual Contains(const T&) constيتحقق مما إذا كان الطابور يحتوي على عنصر محدد باستخدام العامل == لمقارنة العناصر.
data()مُدخل للوصول إلى بنية البيانات الأساسية.
data() constمُدخل للوصول إلى بنية البيانات الأساسية.
Dequeue()يحصل على العنصر من بداية الطابور.
Enqueue(const T&)يضع العنصر في نهاية الطابور.
virtual get_Count() constيحصل على عدد العناصر في الطابور.
GetEnumerator() overrideيحصل على المُعدد للتنقل عبر الطابور.
Peek()يحصل على العنصر من بداية الطابور، لكنه لا يزيله من الطابور.
Queue()ينشئ طابورًا فارغًا.
Queue(int)ينشئ طابورًا فارغًا.
Queue(const SharedPtr<IEnumerable<T>>&)منشئ النسخ.
virtualizeBeginConstIterator() const overrideيحصل على تنفيذ begin const iterator للحاوية الحالية.
virtualizeBeginIterator() overrideيحصل على تنفيذ begin iterator للحاوية الحالية.
virtualizeEndConstIterator() const overrideيحصل على تنفيذ end const iterator للحاوية الحالية.
virtualizeEndIterator() overrideيحصل على تنفيذ end iterator للحاوية الحالية.

Typedefs

تعريف نوعالوصف
IEnumerablePtrحاوية لعناصر من نفس النوع.
IEnumeratorPtrEnumerator نوع.
queue_tمعلومات RTTI.
ValueTypeهذا النوع.

ملاحظات

Queue container wrapping STL list. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

#include <system/collections/queue.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

void PrintItems(const SmartPtr<IEnumerable<int>> &queue)
{
  for (const int item: queue)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // إنشاء مثيل فئة Queue.
  auto queue = MakeObject<Queue<int>>();

  // املأ الطابور.
  queue->Enqueue(1);
  queue->Enqueue(2);
  queue->Enqueue(3);

  // اطبع العنصر الأول في الطابور. طريقة Peek لا تزيل العنصر من الطابور.
  std::cout << queue->Peek() << std::endl;
  // اطبع عناصر الطابور.
  PrintItems(queue);

  // اطبع العنصر الأول في الطابور. طريقة Dequeue تزيل العنصر من الطابور.
  std::cout << queue->Dequeue() << std::endl;
  // اطبع عناصر الطابور.
  PrintItems(queue);

  return 0;
}
/*
This code example produces the following output:
1
1 2 3
1
2 3
*/

انظر أيضًا