Mavzu: Ma’lumotlarni saqlovchi kolleksiyalardan foydalanish (C# tilida)


Download 351.29 Kb.
bet7/10
Sana15.06.2023
Hajmi351.29 Kb.
#1487438
1   2   3   4   5   6   7   8   9   10
Bog'liq
Iskandarov Otaxon Kurs ishi


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:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling