System::Collections::Generic::Stack sınıfı

Stack class

Stack class forward declaration.

template<typename T>class Stack : public System::Collections::Generic::IEnumerable<T>
ParameterAçıklama
TÖğe türü.

Nested classes

Yöntemler

YöntemAçıklama
AddRange(IEnumerablePtr)Elemanları yığına ekler.
virtual Clear()Yığından tüm elemanları siler.
virtual Contains(const T&) constBelirli bir öğenin konteynerde bulunup bulunmadığını kontrol eder; karşılaştırma için == operatörünü kullanır.
data()Dahili veri yapısı erişicisi.
data() constDahili veri yapısı erişicisi.
virtual get_Count() constYığındaki eleman sayısını alır.
GetEnumerator() overrideMevcut yığını yinelemek için bir enumerator alır.
Peek()Yığının tepesindeki elemanı alır, ancak yığında tutar.
Pop()Yığının tepesindeki öğeyi alır.
Push(const T&)Yığının tepesine öğe koyar.
Stack()Boş bir yığın oluşturur.
Stack(int)Boş bir yığın oluşturur.
Stack(IEnumerablePtr)Kopya yapıcı.
virtual ToArray()Yığını diziye dönüştürür.
virtualizeBeginConstIterator() const overrideMevcut konteyner için begin const iterator’un uygulanmasını alır.
virtualizeBeginIterator() overrideMevcut konteyner için begin iterator’un uygulanmasını alır.
virtualizeEndConstIterator() const overrideMevcut konteyner için end const iterator’un uygulanmasını alır.
virtualizeEndIterator() overrideMevcut konteyner için end iterator’un uygulanmasını alır.

Typedefs

TypedefAçıklama
IEnumerablePtrAynı tipte öğeler içeren koleksiyon.
IEnumeratorPtrEnumerator türü.
stack_tRTTI bilgisi.
ValueTypeDeğer türü.

Açıklamalar

Stack class wrapping std::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/stack.h>
#include <system/smart_ptr.h>

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

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

int main()
{
  // Stack-class örneğini oluştur.
  auto stack = MakeObject<Stack<int>>();

  // Yığını doldur.
  stack->Push(1);
  stack->Push(2);
  stack->Push(3);

  // Yığının son öğesini yazdır. Peek yöntemi yığından bir öğe kaldırmaz.
  std::cout << stack->Peek() << std::endl;
  PrintItems(stack);

  // Yığının son öğesini yazdır. Pop yöntemi yığından bir öğe kaldırır.
  std::cout << stack->Pop() << std::endl;
  PrintItems(stack);

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

Ayrıca Bakınız