Mavzu: Ro’yxatlar va navbatlar Reja: I. Kirish


bool TryDequeue(out T natijasi)



Download 37,86 Kb.
bet9/9
Sana19.05.2023
Hajmi37,86 Kb.
#940902
1   2   3   4   5   6   7   8   9
Bog'liq
Mavzu

bool TryDequeue(out T natijasi) : navbatning birinchi elementini navbatdan olib tashlash bilan o'zgaruvchan natijaga o'tkazadi, trueagar navbat bo'sh bo'lmasa va element muvaffaqiyatli qabul qilingan bo'lsa, qaytaradi.

  • bool TryPeek(out T result) : navbatning birinchi elementini navbatdan olib tashlamasdan o'zgaruvchan natijaga o'tkazadi, trueagar navbat bo'sh bo'lmasa va element muvaffaqiyatli olinsa, qaytaradi.

    Qo'llash usullari:




    var people = new Queue();
    // elementlarni qo'shish
    people.Enqueue("Tom"); // people = { Tom }
    // elementlarni olib tashlash
    var success1 = people.TryDequeue(out var person1); // success1 = true
    if (success1) Console.WriteLine(person1); // Tom
    var success2 = people.TryPeek(out var person2); // success2 = false
    if (success2) Console.WriteLine(person2);

    Navbatlar haqiqiy hayotda juda keng tarqalgan tuzilmadir. Masalan, shifokorga murojaat qilish uchun bemorlarning navbati. Keling, ushbu vaziyatni amalga oshiramiz:




    var patients = new Queue
    ();
    patients.Enqueue(new Person("Tom"));
    patients.Enqueue(new Person("Bob"));
    patients.Enqueue(new Person("Sam"));
    var practitioner = new Doctor();
    practitioner.TakePatients(patients);
    class Person
    {
    public string Name { get; }
    public Person(string name) => Name = name;
    }
    class Doctor
    {
    public void TakePatients(Queue
    patients)
    {
    while(patients.Count > 0)
    {
    var patient = patients.Dequeue();
    Console.WriteLine($"Bemorni tekshirish {patient.Name}");
    }
    Console.WriteLine("Shifokor bemorlarni tekshirishni tugatdi");
    }
    }

    Bu yerda shifokor sinfi - TakePatient usulidagi Doctor sinfi Person ob'ektlari ko'rinishidagi bemorlarning navbatini oladi. Navbatda ob'ektlar mavjud bo'lsa-da, u bir vaqtning o'zida bitta ob'ektni chiqaradi. Konsol chiqishi:

    Bemorni tekshirish Tom
    Bobning bemorini tekshirish
    Bemorning tekshiruvi Sam
    Shifokor bemorlarni tekshirishni tugatdi.




  • Download 37,86 Kb.

    Do'stlaringiz bilan baham:
    1   2   3   4   5   6   7   8   9




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

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish