stack
(STL/CLR)
Kelas templat menjelaskan objek yang mengontrol urutan elemen dengan panjang yang bervariasi yang memiliki akses first-out terakhir. Anda menggunakan adaptor stack
kontainer untuk mengelola kontainer yang mendasar sebagai tumpukan push-down.
Dalam deskripsi di bawah ini, GValue
sama seperti Value
kecuali yang terakhir adalah jenis ref, dalam hal ini adalah Value^
. Demikian pula, GContainer
sama Container
seperti kecuali yang terakhir adalah jenis ref, dalam hal ini Container^
adalah .
Sintaks
template<typename Value,
typename Container>
ref class stack
: public
System::ICloneable,
Microsoft::VisualC::StlClr::IStack<GValue, GContainer>
{ ..... };
Parameter
Value
Jenis elemen dalam urutan terkontrol.
Container
Jenis kontainer yang mendasar.
Persyaratan
Header:<cliext/stack>
kumpulan nama XML: cliext
Deklarasi
Definisi jenis | Deskripsi |
---|---|
stack::const_reference |
Jenis referensi konstanta ke elemen. |
stack::container_type |
Jenis kontainer yang mendasar. |
stack::difference_type |
Jenis jarak yang ditandatangani antara dua elemen. |
stack::generic_container |
Jenis antarmuka generik untuk adaptor kontainer. |
stack::generic_value |
Jenis elemen untuk antarmuka generik untuk adaptor kontainer. |
stack::reference |
Jenis referensi ke elemen. |
stack::size_type |
Jenis jarak yang ditandatangani antara dua elemen. |
stack::value_type |
Jenis elemen. |
Fungsi anggota | Deskripsi |
---|---|
stack::assign |
Menggantikan semua elemen. |
stack::empty |
Menguji apakah tidak ada elemen yang ada. |
stack::get_container |
Mengakses kontainer yang mendasar. |
stack::pop |
Menghapus elemen terakhir. |
stack::push |
Menambahkan elemen terakhir baru. |
stack::size |
Menghitung jumlah elemen. |
stack::stack |
Membuat objek kontainer. |
stack::top |
Mengakses elemen terakhir. |
stack::to_array |
Menyalin urutan terkontrol ke array baru. |
Properti | Deskripsi |
---|---|
stack::top_item |
Mengakses elemen terakhir. |
Operator | Deskripsi |
---|---|
stack::operator= |
Menggantikan urutan terkontrol. |
operator!= (Tumpukan) |
Menentukan apakah stack objek tidak sama dengan objek lain stack . |
operator< (Tumpukan) |
Menentukan apakah stack objek kurang dari objek lain stack . |
operator<= (Tumpukan) |
Menentukan apakah objek stack kurang dari atau sama dengan objek lain stack . |
operator== (Tumpukan) |
Menentukan apakah stack objek sama dengan objek lain stack . |
operator> (Tumpukan) |
Menentukan apakah stack objek lebih besar dari objek lain stack . |
operator>= (Tumpukan) |
Menentukan apakah stack objek lebih besar dari atau sama dengan objek lain stack . |
Antarmuka
Antarmuka | Deskripsi |
---|---|
ICloneable | Menduplikasi objek. |
IStack<Value, Container> |
Pertahankan adaptor kontainer generik. |
Keterangan
Objek mengalokasikan dan membebaskan penyimpanan untuk urutan yang dikendalikannya melalui kontainer jenis Container
yang mendasar Value
yang menyimpan elemen dan tumbuh sesuai permintaan. Objek membatasi akses untuk mendorong dan memunculkan hanya elemen terakhir, menerapkan antrean first-out terakhir masuk (juga dikenal sebagai antrean LIFO, atau tumpukan).
Anggota
stack::assign
Menggantikan semua elemen.
Sintaks
void assign(stack<Value, Container>% right);
Parameter
right
Adaptor kontainer untuk disisipkan.
Keterangan
Fungsi anggota ditetapkan ke kontainer yang mendasar right.get_container()
. Anda menggunakannya untuk mengubah seluruh isi tumpukan.
Contoh
// cliext_stack_assign.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign a repetition of values
Mystack c2;
c2.assign(c1);
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
stack::const_reference
Jenis referensi konstanta ke elemen.
Sintaks
typedef value_type% const_reference;
Keterangan
Jenis ini menjelaskan referensi konstan ke elemen.
Contoh
// cliext_stack_const_reference.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display reversed contents " c b a"
for (; !c1.empty(); c1.pop())
{ // get a const reference to an element
Mystack::const_reference cref = c1.top();
System::Console::Write("{0} ", cref);
}
System::Console::WriteLine();
return (0);
}
c b a
stack::container_type
Jenis kontainer yang mendasar.
Sintaks
typedef Container value_type;
Keterangan
Jenisnya adalah sinonim untuk parameter Container
templat .
Contoh
// cliext_stack_container_type.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c" using container_type
Mystack::container_type wc1 = c1.get_container();
for each (wchar_t elem in wc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
stack::difference_type
Jenis jarak yang ditandatangani antara dua elemen.
Sintaks
typedef int difference_type;
Keterangan
Jenis ini menjelaskan jumlah elemen yang mungkin negatif.
Contoh
// cliext_stack_difference_type.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute negative difference
Mystack::difference_type diff = c1.size();
c1.push(L'd');
c1.push(L'e');
diff -= c1.size();
System::Console::WriteLine("pushing 2 = {0}", diff);
// compute positive difference
diff = c1.size();
c1.pop();
c1.pop();
c1.pop();
diff -= c1.size();
System::Console::WriteLine("popping 3 = {0}", diff);
return (0);
}
a b c
pushing 2 = -2
popping 3 = 3
stack::empty
Menguji apakah tidak ada elemen yang ada.
Sintaks
bool empty();
Keterangan
Fungsi anggota mengembalikan true untuk urutan yang dikontrol kosong. Ini setara dengan size() == 0
. Anda menggunakannya untuk menguji apakah stack
kosong.
Contoh
// cliext_stack_empty.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
// clear the container and reinspect
c1.pop();
c1.pop();
c1.pop();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
return (0);
}
a b c
size() = 3
empty() = False
size() = 0
empty() = True
stack::generic_container
Jenis antarmuka generik untuk adaptor kontainer.
Sintaks
typedef Microsoft::VisualC::StlClr::IStack<Value>
generic_container;
Keterangan
Jenis menjelaskan antarmuka generik untuk kelas adaptor kontainer templat ini.
Contoh
// cliext_stack_generic_container.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// get interface to container
Mystack::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
gc1->push(L'd');
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify original and display generic
c1.push(L'e');
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a b c d
a b c d e
stack::generic_value
Jenis elemen untuk digunakan dengan antarmuka generik untuk kontainer.
Sintaks
typedef GValue generic_value;
Keterangan
Jenis menjelaskan objek jenis GValue
yang menjelaskan nilai elemen tersimpan untuk digunakan dengan antarmuka generik untuk kelas kontainer templat ini. (GValue
adalah value_type
atau value_type^
jika value_type
adalah jenis ref.)
Contoh
// cliext_stack_generic_value.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// get interface to container
Mystack::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display in reverse using generic_value
for (; !gc1->empty(); gc1->pop())
{
Mystack::generic_value elem = gc1->top();
System::Console::Write("{0} ", elem);
}
System::Console::WriteLine();
return (0);
}
a b c
a b c
c b a
stack::get_container
Mengakses kontainer yang mendasar.
Sintaks
container_type^ get_container();
Keterangan
Fungsi anggota mengembalikan handel untuk kontainer yang mendasar. Anda menggunakannya untuk melewati batasan yang diberlakukan oleh pembungkus kontainer.
Contoh
// cliext_stack_get_container.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c" using container_type
Mystack::container_type wc1 = c1.get_container();
for each (wchar_t elem in wc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
stack::operator=
Menggantikan urutan terkontrol.
Sintaks
stack<Value, Container>% operator=(stack<Value, Container>% right);
Parameter
right
Adaptor kontainer untuk disalin.
Keterangan
Operator anggota menyalin right
ke objek, lalu mengembalikan *this
. Anda menggunakannya untuk mengganti urutan terkontrol dengan salinan urutan terkontrol di right
.
Contoh
// cliext_stack_operator_as.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2 = c1;
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
stack::pop
Menghapus elemen terakhir.
Sintaks
void pop();
Keterangan
Fungsi anggota menghapus elemen terakhir dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk mempersingkat stack
satu elemen di bagian belakang.
Contoh
// cliext_stack_pop.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// pop an element and redisplay
c1.pop();
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b
stack::push
Menambahkan elemen terakhir baru.
Sintaks
void push(value_type val);
Keterangan
Fungsi anggota menyisipkan elemen dengan nilai val
di akhir urutan yang dikontrol. Anda menggunakannya untuk menambahkan elemen lain ke tumpukan.
Contoh
// cliext_stack_push.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
stack::reference
Jenis referensi ke elemen.
Sintaks
typedef value_type% reference;
Keterangan
Jenis ini menjelaskan referensi ke elemen.
Contoh
// cliext_stack_reference.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify top of stack and redisplay
Mystack::reference ref = c1.top();
ref = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b x
stack::size
Menghitung jumlah elemen.
Sintaks
size_type size();
Keterangan
Fungsi anggota mengembalikan panjang urutan yang dikontrol. Anda menggunakannya untuk menentukan jumlah elemen yang saat ini berada dalam urutan terkontrol. Jika yang Anda pedulikan hanyalah apakah urutannya memiliki ukuran bukan nol, lihat stack::empty
.
Contoh
// cliext_stack_size.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0} starting with 3", c1.size());
// pop an item and reinspect
c1.pop();
System::Console::WriteLine("size() = {0} after popping", c1.size());
// add two elements and reinspect
c1.push(L'a');
c1.push(L'b');
System::Console::WriteLine("size() = {0} after adding 2", c1.size());
return (0);
}
a b c
size() = 3 starting with 3
size() = 2 after popping
size() = 4 after adding 2
stack::size_type
Jenis jarak yang ditandatangani antara dua elemen.
Sintaks
typedef int size_type;
Keterangan
Jenis ini menjelaskan jumlah elemen non-negatif.
Contoh
// cliext_stack_size_type.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute positive difference
Mystack::size_type diff = c1.size();
c1.pop();
c1.pop();
diff -= c1.size();
System::Console::WriteLine("size difference = {0}", diff);
return (0);
}
a b c
size difference = 2
stack::stack
Membuat objek adaptor kontainer.
Sintaks
stack();
stack(stack<Value, Container>% right);
stack(stack<Value, Container>^ right);
explicit stack(container_type% wrapped);
Parameter
right
Objek untuk disalin.
wrapped
Kontainer yang dibungkus untuk digunakan.
Keterangan
Konstruktor:
stack();
membuat kontainer yang dibungkus kosong. Anda menggunakannya untuk menentukan urutan awal yang dikontrol kosong.
Konstruktor:
stack(stack<Value, Container>% right);
membuat kontainer yang dibungkus yang merupakan salinan dari right.get_container()
. Anda menggunakannya untuk menentukan urutan terkontrol awal yang merupakan salinan urutan yang dikontrol stack
oleh objek right
.
Konstruktor:
stack(stack<Value, Container>^ right);
membuat kontainer yang dibungkus yang merupakan salinan dari right->get_container()
. Anda menggunakannya untuk menentukan urutan terkontrol awal yang merupakan salinan urutan yang dikontrol stack
oleh objek *right
.
Konstruktor:
explicit stack(container_type% wrapped);
menggunakan kontainer wrapped
yang ada sebagai kontainer yang dibungkus. Anda menggunakannya untuk membangun stack
dari kontainer yang ada.
Contoh
// cliext_stack_construct.cpp
// compile with: /clr
#include <cliext/stack>
#include <cliext/vector>
typedef cliext::stack<wchar_t> Mystack;
typedef cliext::vector<wchar_t> Myvector;
typedef cliext::stack<wchar_t, Myvector> Mystack_vec;
int main()
{
// construct an empty container
Mystack c1;
System::Console::WriteLine("size() = {0}", c1.size());
// construct from an underlying container
Myvector v2(5, L'x');
Mystack_vec c2(v2);
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container
Mystack_vec c3(c2);
for each (wchar_t elem in c3.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container through handle
Mystack_vec c4(%c2);
for each (wchar_t elem in c4.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
size() = 0
x x x x x
x x x x x
x x x x x
stack::to_array
Menyalin urutan terkontrol ke array baru.
Sintaks
cli::array<Value>^ to_array();
Keterangan
Fungsi anggota mengembalikan array yang berisi urutan terkontrol. Anda menggunakannya untuk mendapatkan salinan urutan terkontrol dalam bentuk array.
Contoh
// cliext_stack_to_array.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// copy the container and modify it
cli::array<wchar_t>^ a1 = c1.to_array();
c1.push(L'd');
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display the earlier array copy
for each (wchar_t elem in a1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c d
a b c
stack::top
Mengakses elemen terakhir.
Sintaks
reference top();
Keterangan
Fungsi anggota mengembalikan referensi ke elemen terakhir dari urutan terkontrol, yang harus tidak kosong. Anda menggunakannya untuk mengakses elemen terakhir, ketika Anda tahu ada.
Contoh
// cliext_stack_top.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("top() = {0}", c1.top());
// alter last item and reinspect
c1.top() = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
top() = c
a b x
stack::top_item
Mengakses elemen terakhir.
Sintaks
property value_type top_item;
Keterangan
Properti mengakses elemen terakhir dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk membaca atau menulis elemen terakhir, ketika Anda tahu ada.
Contoh
// cliext_stack_top_item.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("top_item = {0}", c1.top_item);
// alter last item and reinspect
c1.top_item = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
top_item = c
a b x
stack::value_type
Jenis elemen.
Sintaks
typedef Value value_type;
Keterangan
Jenisnya adalah sinonim untuk parameter Value
templat .
Contoh
// cliext_stack_value_type.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display reversed contents " a b c" using value_type
for (; !c1.empty(); c1.pop())
{ // store element in value_type object
Mystack::value_type val = c1.top();
System::Console::Write("{0} ", val);
}
System::Console::WriteLine();
return (0);
}
c b a
operator!=
(Tumpukan)
Stack
tidak sama dengan perbandingan.
Sintaks
template<typename Value,
typename Container>
bool operator!=(stack<Value, Container>% left,
stack<Value, Container>% right);
Parameter
left
Kontainer kiri untuk dibandingkan.
right
Kontainer yang tepat untuk dibandingkan.
Keterangan
Fungsi operator mengembalikan !(left == right)
. Anda menggunakannya untuk menguji apakah left
tidak diurutkan sama seperti right
ketika dua tumpukan dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_stack_operator_ne.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents " a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] != [a b c] is {0}",
c1 != c1);
System::Console::WriteLine("[a b c] != [a b d] is {0}",
c1 != c2);
return (0);
}
a b c
a b d
[a b c] != [a b c] is False
[a b c] != [a b d] is True
operator<
(Tumpukan)
Stack
kurang dari perbandingan.
Sintaks
template<typename Value,
typename Container>
bool operator<(stack<Value, Container>% left,
stack<Value, Container>% right);
Parameter
left
Kontainer kiri untuk dibandingkan.
right
Kontainer yang tepat untuk dibandingkan.
Keterangan
Fungsi operator mengembalikan true jika, untuk posisi i
terendah yang !(right[i] < left[i])
juga benar bahwa left[i] < right[i]
. Jika tidak, ia kembali left->size() < right->size()
. Anda menggunakannya untuk menguji apakah left
diurutkan sebelumnya right
ketika dua tumpukan dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_stack_operator_lt.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents " a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] < [a b c] is {0}",
c1 < c1);
System::Console::WriteLine("[a b c] < [a b d] is {0}",
c1 < c2);
return (0);
}
a b c
a b d
[a b c] < [a b c] is False
[a b c] < [a b d] is True
operator<=
(Tumpukan)
Stack
kurang dari atau perbandingan yang sama.
Sintaks
template<typename Value,
typename Container>
bool operator<=(stack<Value, Container>% left,
stack<Value, Container>% right);
Parameter
left
Kontainer kiri untuk dibandingkan.
right
Kontainer yang tepat untuk dibandingkan.
Keterangan
Fungsi operator mengembalikan !(right < left)
. Anda menggunakannya untuk menguji apakah left
tidak diurutkan setelah right
ketika dua tumpukan dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_stack_operator_le.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents " a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] <= [a b c] is {0}",
c1 <= c1);
System::Console::WriteLine("[a b d] <= [a b c] is {0}",
c2 <= c1);
return (0);
}
a b c
a b d
[a b c] <= [a b c] is True
[a b d] <= [a b c] is False
operator==
(Tumpukan)
Stack
perbandingan yang sama.
Sintaks
template<typename Value,
typename Container>
bool operator==(stack<Value, Container>% left,
stack<Value, Container>% right);
Parameter
left
Kontainer kiri untuk dibandingkan.
right
Kontainer yang tepat untuk dibandingkan.
Keterangan
Fungsi operator mengembalikan true hanya jika urutan dikontrol oleh left
dan right
memiliki panjang yang sama dan, untuk setiap posisi i
, left[i] == right[i]
. Anda menggunakannya untuk menguji apakah left
diurutkan sama seperti right
ketika dua tumpukan dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_stack_operator_eq.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents " a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] == [a b c] is {0}",
c1 == c1);
System::Console::WriteLine("[a b c] == [a b d] is {0}",
c1 == c2);
return (0);
}
a b c
a b d
[a b c] == [a b c] is True
[a b c] == [a b d] is False
operator>
(Tumpukan)
Stack
lebih besar dari perbandingan.
Sintaks
template<typename Value,
typename Container>
bool operator>(stack<Value, Container>% left,
stack<Value, Container>% right);
Parameter
left
Kontainer kiri untuk dibandingkan.
right
Kontainer yang tepat untuk dibandingkan.
Keterangan
Fungsi operator mengembalikan right < left
. Anda menggunakannya untuk menguji apakah left
diurutkan setelah right
ketika dua tumpukan dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_stack_operator_gt.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents " a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] > [a b c] is {0}",
c1 > c1);
System::Console::WriteLine("[a b d] > [a b c] is {0}",
c2 > c1);
return (0);
}
a b c
a b d
[a b c] > [a b c] is False
[a b d] > [a b c] is True
operator>=
(Tumpukan)
Stack
lebih besar dari atau perbandingan yang sama.
Sintaks
template<typename Value,
typename Container>
bool operator>=(stack<Value, Container>% left,
stack<Value, Container>% right);
Parameter
left
Kontainer kiri untuk dibandingkan.
right
Kontainer yang tepat untuk dibandingkan.
Keterangan
Fungsi operator mengembalikan !(left < right)
. Anda menggunakannya untuk menguji apakah left
tidak diurutkan sebelumnya right
ketika dua tumpukan dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_stack_operator_ge.cpp
// compile with: /clr
#include <cliext/stack>
typedef cliext::stack<wchar_t> Mystack;
int main()
{
Mystack c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents " a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Mystack c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents " a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] >= [a b c] is {0}",
c1 >= c1);
System::Console::WriteLine("[a b c] >= [a b d] is {0}",
c1 >= c2);
return (0);
}
a b c
a b d
[a b c] >= [a b c] is True
[a b c] >= [a b d] is False