Stack.Push(Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğesinin en üstüne Stackbir nesne ekler.
public:
virtual void Push(System::Object ^ obj);
public virtual void Push (object obj);
public virtual void Push (object? obj);
abstract member Push : obj -> unit
override this.Push : obj -> unit
Public Overridable Sub Push (obj As Object)
Parametreler
Örnekler
Aşağıdaki örnekte öğesine öğe Stackekleme, öğesinden Stacköğeleri kaldırma veya öğesinin en üstündeki öğesini görüntüleme gösterilmektedir Stack.
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myCollection, char mySeparator );
int main()
{
// Creates and initializes a new Stack.
Stack^ myStack = gcnew Stack;
myStack->Push( "The" );
myStack->Push( "quick" );
myStack->Push( "brown" );
myStack->Push( "fox" );
// Displays the Stack.
Console::Write( "Stack values:" );
PrintValues( myStack, '\t' );
// Removes an element from the Stack.
Console::WriteLine( "(Pop)\t\t{0}", myStack->Pop() );
// Displays the Stack.
Console::Write( "Stack values:" );
PrintValues( myStack, '\t' );
// Removes another element from the Stack.
Console::WriteLine( "(Pop)\t\t{0}", myStack->Pop() );
// Displays the Stack.
Console::Write( "Stack values:" );
PrintValues( myStack, '\t' );
// Views the first element in the Stack but does not remove it.
Console::WriteLine( "(Peek)\t\t{0}", myStack->Peek() );
// Displays the Stack.
Console::Write( "Stack values:" );
PrintValues( myStack, '\t' );
}
void PrintValues( IEnumerable^ myCollection, char mySeparator )
{
IEnumerator^ myEnum = myCollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( "{0}{1}", mySeparator, obj );
}
Console::WriteLine();
}
/*
This code produces the following output.
Stack values: fox brown quick The
(Pop) fox
Stack values: brown quick The
(Pop) brown
Stack values: quick The
(Peek) quick
Stack values: quick The
*/
using System;
using System.Collections;
public class SamplesStack {
public static void Main() {
// Creates and initializes a new Stack.
Stack myStack = new Stack();
myStack.Push( "The" );
myStack.Push( "quick" );
myStack.Push( "brown" );
myStack.Push( "fox" );
// Displays the Stack.
Console.Write( "Stack values:" );
PrintValues( myStack, '\t' );
// Removes an element from the Stack.
Console.WriteLine( "(Pop)\t\t{0}", myStack.Pop() );
// Displays the Stack.
Console.Write( "Stack values:" );
PrintValues( myStack, '\t' );
// Removes another element from the Stack.
Console.WriteLine( "(Pop)\t\t{0}", myStack.Pop() );
// Displays the Stack.
Console.Write( "Stack values:" );
PrintValues( myStack, '\t' );
// Views the first element in the Stack but does not remove it.
Console.WriteLine( "(Peek)\t\t{0}", myStack.Peek() );
// Displays the Stack.
Console.Write( "Stack values:" );
PrintValues( myStack, '\t' );
}
public static void PrintValues( IEnumerable myCollection, char mySeparator ) {
foreach ( Object obj in myCollection )
Console.Write( "{0}{1}", mySeparator, obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
Stack values: fox brown quick The
(Pop) fox
Stack values: brown quick The
(Pop) brown
Stack values: quick The
(Peek) quick
Stack values: quick The
*/
Imports System.Collections
Public Class SamplesStack
Public Shared Sub Main()
' Creates and initializes a new Stack.
Dim myStack As New Stack()
myStack.Push("The")
myStack.Push("quick")
myStack.Push("brown")
myStack.Push("fox")
' Displays the Stack.
Console.Write("Stack values:")
PrintValues(myStack, ControlChars.Tab)
' Removes an element from the Stack.
Console.WriteLine("(Pop)" & ControlChars.Tab & ControlChars.Tab & _
"{0}", myStack.Pop())
' Displays the Stack.
Console.Write("Stack values:")
PrintValues(myStack, ControlChars.Tab)
' Removes another element from the Stack.
Console.WriteLine("(Pop)" & ControlChars.Tab & ControlChars.Tab & _
"{0}", myStack.Pop())
' Displays the Stack.
Console.Write("Stack values:")
PrintValues(myStack, ControlChars.Tab)
' Views the first element in the Stack but does not remove it.
Console.WriteLine("(Peek)" & ControlChars.Tab & ControlChars.Tab & _
"{0}", myStack.Peek())
' Displays the Stack.
Console.Write("Stack values:")
PrintValues(myStack, ControlChars.Tab)
End Sub
Public Shared Sub PrintValues(myCollection As IEnumerable, mySeparator As Char)
Dim obj As [Object]
For Each obj In myCollection
Console.Write("{0}{1}", mySeparator, obj)
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Stack values: fox brown quick The
' (Pop) fox
' Stack values: brown quick The
' (Pop) brown
' Stack values: quick The
' (Peek) quick
' Stack values: quick The
Açıklamalar
Kapasiteye zaten eşitse Count , iç dizi otomatik olarak yeniden konumlandırılarak kapasitesi Stack artırılır ve yeni öğe eklenmeden önce mevcut öğeler yeni diziye kopyalanır.
null
gerekirse yer tutucu olarak üzerine Stack gönderilebilir. Yığındaki bir yuvayı kaplar ve herhangi bir nesne gibi kabul edilir.
Yığının kapasitesinden küçükse Count , Push bir O(1)
işlemdir. Yeni öğeye uyum sağlamak için kapasitenin artırılması gerekiyorsa, Push burada olduğu Countgibi n
bir O(n)
işlem haline gelir.