1. Konteyner sinflar qanday sinf hisoblanadi? Qaysi saralash algoritmlarini bilasiz?



Download 22,09 Kb.
Sana16.01.2022
Hajmi22,09 Kb.
#370688
Bog'liq
Документ Microsoft Word (2)


Dasturlash II fanidan sirtqi ta’lim talabalari uchun yakuniy nazorat

1.Konteyner sinflar qanday sinf hisoblanadi?

2. Qaysi saralash algoritmlarini bilasiz?

3. erilgan char turidagi to’plamda kata harfdan va kichik harfdan boshlanuvchi elementlari soni aniqlovchi hamda ularni ekranga chiqaruvchi dastur tuzing.


Konteyner sinflar. Konteyner sinflar muayyan tarzda tashkil qilingan maʻlumotlarni saqlash uchun mo‘ljallangan sinflar. Turli xil tipdpgi maʻlumotlarni saqlash uchun bir xil turdagi konteynerdan foydalanishingiz mumkin. Bu xususiyat sinf shablonlari yordamida amalga oshiriladi, shuning uchun C++ kutubxonasining konteyner sinflarini, shuningdek algoritmlarni va iteratorlarni o‘z ichiga olgan qismi standart shablonlar kutubxonasi (STL) deb ataladi.

Maʻlumotlar konteynerlarda saqlanadi va ular bilan turli amallar konteyner usullari va moslanuvchan algoritmlar bilan aniqlanadi va bajariladi. Iteratorlar bu ikki elementni bir-biriga bog‘lagan holda ishlaydi. Ular tufayli har qanday algoritm har qanday konteyner bilan ishlashi mumkin.

Professonal dasturlashni kutubxona sinflarisiz foydalanishni tasavvur qilish mumkin emas, shuningdek alohida konteynerlarsiz ham. Ulardan foydalanish dasturlarning ishonchliligi, joriy qilish samaradorligi, moslashuvchanligi va ko‘p qirraliligini oshirish hamda dastur tuzish vaqtini kamaytirishga imkonini beradi. Kutubxonani yaratish ko‘p ish va mashaqqat talab qiladi, amao, dastur yaratish vaqtida o‘zini oqlaydi.

STL kutubxonasi dasturlarni yozishda ishlatiladigan asosiy maʻlumotlar tuzilmalarini amalga oshiruvchi konteynerlarni o‘z ichiga oladi: vektorlar, navbatlar, ro‘yxatlar, lug‘atlar va to‘plamlar. Konteynerlarni ikki turga bo‘lish mumkin: ketma-ket va assotsiativ konteynerlar .



Ketma-ket konteynerlar. Ular uzluksiz ketma-ketlikda o‘xshash miqdorlarning chekli sonini saqlashni taʻminlaydi. Konteynerlar sifatida vektor (vector), ikki tomonlama navbat (deque), ro‘yxat (list) va bir aloqali ro‘yxati (forward_list), shuningdek konteyner variantlar asosida adapterlar, stek (stack), navbat (queue) va ustuvorlik bilan navbat (priority_queue) sinflarini o‘z ichiga oladi. Massiv ham amallar bilan cheklangan holda konteynerning yana bir turidir.

Konteynerning har bir turi maʻlumotlar ustida o‘z amallar to‘plamini taʻminlaydi. Siz tanlagan konteyner turi dasturdagi maʻlumotlar bilan nima qilishni xohlashingizga bog‘liq. Masalan, agar ketma-ketlik o‘rtasida maʻlumotlar tez - tez joylashtirish va o‘chirish kerak bo‘lsa, ro‘yxatlardan foydalanish kerak, maʻlumotlarni oxirida yoki boshida, birinchi navbatda joylatrish kerak bo‘lsa, ikki tomonlama navbatdan foydalanish maqsadga muvofiq.



Assotsiativ konteynerlar. Assotsiativ konteynerlar asosiy maʻlumotlarga kalitlar asosida tezkor murojaat qilishni taʻminlaydi. Bu konteynerlar muvozanatli daraxtlarga asoslangan. Assotsiativ konteynerlarning besh turi mavjud: lug‘atlar (map), ko‘p lug‘atlar (multi) (multimap), to‘plamlar (set), multi to‘plamlar (multiset) va bitli to‘plam (bitset).

Dasturchi standart kutubxonada mavjud bo‘lgan sinflarga asoslanib o‘z konteyner sinflarini yaratishi mumkin. Bunga kirishishdan oldin muhim tushunchani bilishinggiz shart, yaʻni STL kutubxonasining fundamental tushunchasi bu shablondir

Barcha konteyner sinflari standartlashtirilgan interfeysi bilan taʻminlangan. Turli konteynerlar uchun bir xil amallarning maʻnosi bir xil bo‘lishi tabiiydir. Asosiy amallar konteynerlarning barcha turlari uchun qo‘llaniladi. Standart esa faqat konteyner interfeysini belgilaydi, shuning uchun turli xil dasturlar samaradorlikda katta farq qilishi mumkin. Barcha konteynerlar o‘z xotirasini o‘zi boshqaradi, shuning uchun dasturchi bu haqida o‘ylashning hojati yo‘q.
Deyarli har qanday konteynerlarning quyidagi xususiyatlari bor:

Konteyner xususiyatlari.

1 value_type - Konteyner elementining tipi

2 size_type - Elementlar indeksining tipi

3 iterator - Iterator

4 const_iterator - O‘zgarmas iterator

5 reverse_iterator - Teskari iterator

6 const_reverse_iterator - O‘zgarmas teskari iterator

7 reference - Elementga havola

8 const_reference - O‘zgarmas elementga havola

9 key_type - Kalit tipi (assotsiativ konteynerlar uchun)

10 key_compare - Taqqoslash mezoni

function getLowerAndUpperCases(arr){

  let upperCaseCount = 0;

  let lowerCaseCount = 0;

  const upperCaseElements = [];

  const lowerCaseElements = [];

  

  for (let str of arr) {



      str  = str.toString(); 

      const isUpperCase = str.substring(0,1) == str.substring(0,1).toUpperCase();

      

      if(isUpperCase){



        upperCaseCount++;

        upperCaseElements.push(str);

      }else{

        lowerCaseCount++;

        lowerCaseElements.push(str);

      }


      

  }


  return {

    upperCaseCount,lowerCaseCount,

    upperCaseElements,lowerCaseElements

  }


}

const result = getLowerAndUpperCases([

                'Testing',

                'Abdusattorov',

                'Abduraxim',

                'it\'s lowercase element',

                'It\'s uppercase element'

               ]);

  

console.log(result);import 'bootstrap@4.6.0'



import $ from 'jquery'
$('button')

  .html('Click me') // Try edit it...



  .on('click', () => console.log('Hi friend!'))
console.log('App started')

PlayCode - Javascript Playground
Download 22,09 Kb.

Do'stlaringiz bilan baham:




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