• Ishdan
  • Axborot texnologiyalari” kafedrasi “MA’lumotlar tuzilmasi va algoritmlari” fanidan amaliy mashg‘ulotlarini bajarish bo‘yicha




    Download 2,32 Mb.
    bet19/39
    Sana12.06.2024
    Hajmi2,32 Mb.
    #262963
    1   ...   15   16   17   18   19   20   21   22   ...   39
    Bog'liq
    uslubiy qo\'llanma 3

    Nazorat savollari

    1. Saralash nima?

    2. Saralash nima maqsadda qo‘llaniladi?

    3. Saralash qanday turlarga bo‘linadi?

    4. Saralashning pufakchali usuli qanday?

    7-Amaliy mashg‘ulot: Chiziqli ma’lumotlar tuzilmalarini qayta ishlash algoritmlari va dasturlarini tuzish.


    Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar ma’lumotlar tuzilmalarini qayta ishlash algoritmlari va dasturlarini tuzishni va va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak.
    Qo‘yilgan masala: Talabalar topshiriq variantiga mos ro‘yxatlar yordamida masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak.
    Ish tartibi:

    1. Tajriba ishi nazariy ma’lumotlarini o‘rganish;

    2. Berilgan topshiriqning algoritmini ishlab chiqish;

    3. C++ dasturlash muhitida dasturni yaratish;

    4. Natijalarni tekshirish;

    5. Hisobotni tayyorlash va topshirish.

    Chiziqli ma’lumotlar tuzilmalarini qayta ishlash algoritmlari va dasturlarini o‘rganish uchun, sizga ko‘p qo‘llaniladigan konseptlar mavjud: statik va dinamik massivlar, konteynerlar, iteratorlar va ularning turlari.
    1. Statik va dinamik massivlar:
    - Statik massiv: Statik massivlar o‘lchami amaldagi boshlang‘ich qiymatlangan va o‘zgartirib bo‘lmaydigan massivlar. Ularni to‘g‘ridan-to‘g‘ri e’lon qilish zarur bo‘ladi.
    int staticArray[5]; // Statik massiv
    staticArray[0] = 42;
    - Dinamik massiv: Dinamik massivlar esa o‘zgartirib bo‘lishingiz mumkin. Ularni o‘zgartirish uchun “new” va “delete” operatorlari yordamida xotirani ixtiyoriy o‘lchamda yaratishiz mumkin.
    int* dynamicArray = new int[5]; // Dinamik massiv
    dynamicArray[0] = 42;
    delete[] dynamicArray; // Xotirani tozalash
    2. Konteynerlar:
    - C++ dasturlash tilida foydalanish uchun ko‘pchilik konteynerlari mavjud. Misollar uchun, `std::vector`, `std::list`, va `std::map`. Konteynerlar ma’lumotlarni boshqarish va ularga qo‘shishni osonlashtiradi.
    #include
    std::vector myVector; // Vector tuzish
    myVector.push_back(42); // Ma’lumot qo‘shish
    3. Iteratorlar:
    - Iteratorlar konteynerlar ichidagi ma’lumotlarga erishish va ularga murojaat qilish uchun foydalaniladi. Asosiy konteynerlar bilan ishlayotgan har qanday operatsiyada iteratorlardan foydalanish mumkin.
    std::vector myVector;
    std::vector::iterator it = myVector.begin(); // Boshlang‘ich iterator
    it++; // Iteratorni olib chiqish
    4. Iterator turkumlari:
    - Har bir konteyner turida o‘zining iterator turi mavjud. Masalan, `begin()` va end() metodlari, vectorlar uchun iteratorlar, `list` uchun esa `list::iterator`, va boshqa iterator turkumlari mavjud.
    std::vector::iterator vectorIterator = myVector.begin();
    std::list::iterator listIterator = myList.begin();
    5. Iteratorlarning turini avtomatik aniqlash:
    - C++11 va keyingi versiyalarda iteratorlar turini avtomatik aniqlash uchun auto kaliti foydalaniladi.
    auto it = myVector.begin();
    auto listIt = myList.begin();
    Ushbu konseptlar chiziqli ma’lumotlar va boshqa turdagi ma’lumotlar bilan ishlashda yordam beradigan asosiy vazifalardir. C++ dasturlash tillarida ma’lumotlar tuzilmalari va algoritmlarini o‘rganayotganingizda, bu konseptlardan foydalanishingiz kerak bo‘ladi.
    C++ dasturlash tilida `std::vector` konteyneri ma’lumotlarni saqlash va ularga erishish uchun ko‘p qo‘llaniladi. Bu o‘zgaruvchilarni dinamik ravishda saqlash imkoniyatini beradi va qo‘shimcha xizmatlar (masalan, dinamik o‘lcham) taqdim etadi. Quyidagi misol orqali `std::vector` ni ishlatishni o‘rganing:
    #include
    #include
    int main() {
    std::vector myVector;
    myVector.push_back(42);
    myVector.push_back(56);
    myVector.push_back(78);
    for (int i = 0; i < myVector.size(); i++) {
    std::cout << myVector[i] << " ";
    }
    std::cout << std::endl;
    std::cout << "Vectorning o‘lchami: " << myVector.size() << std::endl;
    myVector.pop_back(); // O‘xshatilmagan elementni o‘chirish
    std::cout << "Yangilangan o‘lcham: " << myVector.size() << std::endl;
    return 0;}
    Bu dastur std::vector yaratib, ma’lumotlarni unga qo‘shadi, chiqaradi va o‘lchamini aniqlaydi. push_back() metodi ma’lumot qo‘shish uchun, pop_back() esa o‘xshatilmagan elementni o‘chirish uchun ishlatiladi. size() metodi vectorning o‘lchamini aniqlaydi. Vectorlar dinamik ravishda o‘lchamini o‘zgartirish imkoniyatini beradi.



    Download 2,32 Mb.
    1   ...   15   16   17   18   19   20   21   22   ...   39




    Download 2,32 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Axborot texnologiyalari” kafedrasi “MA’lumotlar tuzilmasi va algoritmlari” fanidan amaliy mashg‘ulotlarini bajarish bo‘yicha

    Download 2,32 Mb.