Kelas System::Collections::Generic::Stack

Stack class

Stack class forward declaration.

template<typename T>class Stack : public System::Collections::Generic::IEnumerable<T>
ParameterDeskripsi
TTipe elemen.

Nested classes

Metode

MetodeDeskripsi
AddRange(IEnumerablePtr)Menempatkan elemen ke dalam stack.
virtual Clear()Menghapus semua elemen dari stack.
virtual Contains(const T&) constMemeriksa apakah item tertentu ada di dalam kontainer; menggunakan operator == untuk perbandingan.
data()Aksesor struktur data internal.
data() constAksesor struktur data internal.
virtual get_Count() constMendapatkan jumlah elemen dalam stack.
GetEnumerator() overrideMendapatkan enumerator untuk mengiterasi stack saat ini.
Peek()Mendapatkan elemen dari puncak stack, tetapi tetap menyimpannya di stack.
Pop()Mendapatkan elemen dari puncak stack.
Push(const T&)Menempatkan elemen di puncak stack.
Stack()Membuat stack kosong.
Stack(int)Membuat stack kosong.
Stack(IEnumerablePtr)Konstruktor penyalinan.
virtual ToArray()Mengonversi stack menjadi array.
virtualizeBeginConstIterator() const overrideMendapatkan implementasi begin const iterator untuk kontainer saat ini.
virtualizeBeginIterator() overrideMendapatkan implementasi begin iterator untuk kontainer saat ini.
virtualizeEndConstIterator() const overrideMendapatkan implementasi end const iterator untuk kontainer saat ini.
virtualizeEndIterator() overrideMendapatkan implementasi end iterator untuk kontainer saat ini.

Typedefs

TypedefDeskripsi
IEnumerablePtrKoleksi yang berisi elemen dengan tipe yang sama.
IEnumeratorPtrEnumerator tipe.
stack_tInformasi RTTI.
ValueTypeTipe nilai.

Catatan

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()
{
  // Buat instance kelas Stack.
  auto stack = MakeObject<Stack<int>>();

  // Isi stack.
  stack->Push(1);
  stack->Push(2);
  stack->Push(3);

  // Cetak item terakhir dari stack. Metode Peek tidak menghapus item dari stack.
  std::cout << stack->Peek() << std::endl;
  PrintItems(stack);

  // Cetak item terakhir dari stack. Metode Pop menghapus item dari stack.
  std::cout << stack->Pop() << std::endl;
  PrintItems(stack);

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

Lihat Juga