5.Stack to'plami
Sinf StackLIFO ("oxirgi kir, birinchi chiqadi") algoritmidan foydalanadigan to'plamni ifodalaydi. Ushbu tashkilot bilan har bir keyingi qo'shilgan element avvalgisining ustiga joylashtiriladi. To'plamdan ajratib olish teskari tartibda sodir bo'ladi - stekda hamma narsadan yuqori joylashgan element chiqariladi. Stack real hayotda juda keng tarqalgan ma'lumotlar strukturasidir. Staklarning oddiy misollari - bu kitoblar yoki plastinkalar to'plami, bu erda har bir yangi kitob yoki plastinka oldingisining ustiga qo'yilgan. Va ular bu to'plamdan kitoblarni / plitalarni teskari tartibda olib tashlashadi - birinchi navbatda yuqori va hokazo. Yana bir misol kiyim: deylik, odam qishda ko‘chaga chiqadi va buning uchun avvaliga futbolka, keyin ko‘ylak, keyin sviter, oxirida kurtka kiydi. Biror kishi kiyimini yechganda, u buni teskari tartibda bajaradi: avval u ko'ylagini, keyin kozokni va hokazo.
Stack yaratish
Stack yaratish uchun uchta konstruktordan birini ishlatishingiz mumkin. Avvalo, siz bo'sh stek yaratishingiz mumkin:
Stack people = new Stack();
Bo'sh stek yaratishda siz stek hajmini belgilashingiz mumkin:
Stack people = new Stack(16);
Bundan tashqari, stekni boshqa to'plamdagi elementlar yoki massiv bilan ishga tushirishingiz mumkin:
var staff = new List { "Tom", "Sam", "Bob" };
Stack people = new Stack(xodimlar);
foreach (odamlardagi var shaxs) Console.WriteLine(shaxs);
Console.WriteLine(people.Count); // 3
Stack ustidan takrorlash uchun standart foreach siklidan foydalanishingiz mumkin . Bundan tashqari, tsiklda, LIFO stek algoritmiga muvofiq, ma'lumotlar ularni qo'shishning teskari tartibida olinadi. Bu holda konsol chiqishi:
Bob
O'zi
Tom
3
Count xususiyati stek elementlari sonini olish uchun ishlatiladi .
Stack usullari
Stack sinfida quyidagi usullarni ajratish mumkin:
Do'stlaringiz bilan baham: |