DaQiQali amaliyot
Massivga sso’lka Qilinayotgan, bitta o’zgaruvchi sso’lka tipi mazmunini o’zlashtirishda, xuddi shunday birinchi massivning o’zgartirilgan elementlarini ikkinchisiga ko’chirishni tasdiQlash to’g’rimi?1
Length xossasi o’zi bilan nimani ko’rsatadi?2
Loyiha 5-2. Queue sinfi
Qdemo.cs
Ma’lumki, ma’lumotlar strukturasi ma’lumotlarni tashkil Qilish usuli bo’yicha farQlanadi. Ma’lumotlarning oddiyroQ strukturasi bo’lib, chiziQli ro’yxatni ko’rsatuvchi massiv sanaladi. Massiv elementlarga dostup berish uchun elementning nomi va indeksi ko’rsatiladi. Massivlar tez-tez stek (stacks) va navbat (queues) singari, nisbatan murakkab tuzilgan ma’lumotlar strukturasi sifatida ham ishlatiladi. Stacks – bu FILO (first in, last out – “birinchi kirib, oxirida chiQdi”) prinsipi bo’yicha elementlarga dostup berishni amalga oshiruvchi ro’yxat. Queues – bu FIFO (first in, first out – “birinchi kirib, birinchi chiQdi”) prinsipi bo’yicha elementlarga dostup berishni amalga oshiruvchi ro’yxat. Stekni tarelkalar taxlamiga o’xshatish mumkin, ya’ni eng pastdagi tarelka eng oxirida ishlatiladi, navbatni esa bankdagi navbatga o’xshatish mumkin – ya’ni, birinchi kelganga birinchi bo’lib xizmat ko’rsatiladi.
Steklar va navbatlar shunisi bilan Qulayki, ularda axborotlarni saQlash vositasi, shu axborotlarga dostupni ta’minlovchi uslublar bilan birlashtirilgan. Shunday Qilib, steklar va navbatlar ma’lumotlarni saQlash va chiQarishni ta’minlash dasturning yordamisiz ma’lumotlar strukturasi bilan amalga oshiriladi va ma’lumotlarga dostup berish mexanizmlarini o’zida mujassamlashtiradi. Bunday birlashtirish so’zsiz, sinf konstruksiyasiga muvofiQ keladi. Bu loyida Queuening oddiy sinfiga asos solinadi.
Umuman navbatlar ikkita bazali metodni Qamrab olgan – put (joylashtirmoQ) va get (chiQarmoQ). Put metodining har birini bajarishda, navbat oxirida turgan massiv elementi (ya’ni, indeksga ega bo’lgan, navbatning joriy holatiga mos keluvchi) ayrim mazmunlarni Qamrab oladi. Get metodining har birini bajarishda massiv elementlaridan, navbat boshida turgani mazmun hisoblanadi. Element mazmuni faQat bir marta hisoblanishi mumkin. Agar yangi mazmunni to’plash uchun erkin elementlar bo’lmasa va bo’sh deb hisoblansa, hamda navbatdagi barcha elementlar mazmuni hisoblangan bo’lsa, navbat to’lgan bo’lib sanaladi. Navbatning ikki asosiy xili mavjud – doirasimon va doirasimon bo’lmagan navbatlar. Doirasimon navbatda mazmunlarni hisoblashda “bo’sh” elementlar takroran ishlatiladi (Bunda elementlar “bo’shamaydi” – shunchaki algoritm bilan muvofiQ holda doirasimon navbat ishida yangi mazmunlarni o’zlashtirishga “imkon” beriladi). Doirasimon bo’lmagan navbatda bu narsa sodir bo’lmaydi, shuning uchun bu navbat oQibatda o’z elementlari indeks raQamlarini belgilaydi. OddiyroQ bo’lishi uchun berilgan misolda biz doirasimon bo’lmagan navbatni yaratamiz, ammo siz biroz harakat Qilib uni doirasimon navbatga aylantirishingiz mumkin.
Do'stlaringiz bilan baham: |