Contoh dalam kehidupan sehari-hari adalah, misalkan kita mempunya lima buah buku, buku pertama disimpan paling bawah, buku kedua disimpan di atas buku pertama, buku ketiga disimpan di atas buku kedua, begitu seterusnya sampai tumpukan buku terakhir yaitu buku kelima. Jika kita menggunakan prinsip tumpukan (stack), buku yang akan kita baca terlebih dahulu adalah buku ke lima, kemudain jika kita telah selesai membaca buku kelima, selanjutnya kita membaca buku yang ke empat, dan begitu seterusnya sampai buku pertama.
Supaya lebih jelas, mari kita perhatikan contoh program berikut ini :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ContohStack { class Program { static void Main(string[] args) { Stack<int> myStack = new Stack<int>(); //Memasukan elemen myStack myStack.Push(2); myStack.Push(5); myStack.Push(8); myStack.Push(4); myStack.Push(1); //Menampilkan isi myStack foreach (int i in myStack) { Console.WriteLine("{0}", i); } Console.WriteLine(); //Mengambil nilai myStack myStack.Pop(); //Menampilkan isi myStack setelah proses pengambilan foreach (int i in myStack) { Console.WriteLine("{0}", i); } Console.WriteLine(); //Menghapus seluruh isi myStack myStack.Clear(); //Mengecek apakah isi stack adalah kosong if (myStack.Count == 0) { Console.WriteLine("myStack kosong"); } else { foreach (int i in myStack) { Console.WriteLine("{0}", i); } Console.WriteLine(); } } } }Jika dijalankan hasilnya adalah sebagai berikut :
Pada program di atas, terdapat tiga buah method yaitu Push(), Pop(), dan Clear().
Push() berfungsi untuk memasukan nilai kedalam stack
Pop() berfungsi untuk mengambil nilai stack sesuai dengan prinsip kerja stack.
Clear() berfungsi untuk menghapus seluruh isi / nilai stack.
sama seperti collection queue, method pop juga mengembalian sebuah nilai dari stack. untuk membuktikan hal ini, coba perhatikan contoh program berikut :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ContohStack { class Program { static void Main(string[] args) { StackHasilnya adalah sebagai berikut :myStack = new Stack (); int dataOut; //Memasukan elemen myStack myStack.Push(2); myStack.Push(5); myStack.Push(8); myStack.Push(4); myStack.Push(1); //Menampilkan isi myStack foreach (int i in myStack) { Console.WriteLine("{0}", i); } Console.WriteLine(); //Mengambil nilai myStack dataOut = myStack.Pop(); //Menampilkan isi myStack setelah proses pengambilan foreach (int i in myStack) { Console.WriteLine("{0}", i); } Console.WriteLine(); //Menampilkan nilai kembalian Pop Console.WriteLine("Data yang di ambil : {0}", dataOut); } } }
No comments:
Post a Comment