6-Amaliy mashg‘ulot: Ma’lumotlarni saralash algoritmlari va dasturlarini ishlab chiqish. Ishdan maqsad


Download 32.34 Kb.
bet2/3
Sana31.01.2024
Hajmi32.34 Kb.
#1831188
1   2   3
Bog'liq
2-deadline

Amaliy qism:



8-Amaliy mashg‘ulot: Chiziqli bog‘langan ro‘yxatlar bilan ishlash algoritmlari va dasturlarini tuzish.
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar ro‘yxatlar mavjudligini va ularning samaradorliklarini baholashni o‘rganishlari kerak. Shu asosda sinflar usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida ro‘yxatlar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak.

  1. Qo‘yilgan masala: Ikki tomonlama navbat tuzilmasidan foydalanib, 14,89,99,63,25,33 elementlarini qo’shing. At() funksiyasidan foydalanib, navbatning 2- va 5- elementlarini ekranga chiqaring.

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.

Array va Vector bir-biriga yaqin konteynerlardir, ya’ni ular o‘zlarining ma’lumotlarini doimiy xotirada saqlaydilar, shuning uchun vektor / massivning o‘rtasiga qo‘shib qo‘yish juda qimmatga tushadi (operaton soni va ishlov berish vaqti bo‘yicha), chunki biz barcha elementlarni almashtirishimiz kerak, bog‘langan ro‘yxat ushbu muammoni engib chiqadi. Bog‘langan ro‘yxat ro‘yxat konteyneridan foydalanish orqali amalga oshirilishi mumkin.
Amaliy qism:


9-Amaliy mashg‘ulot: Stek, navbat va dek bilan ishlash algoritmlari va dasturlarini tuzish.


Ishdan maqsad. Ushbu amaliyot ishida talabalar STL komponentalaridan biri bo‘lgan stek bilan tanishib chiqishi hamda stekda mavjud bo‘lgan funksiyalar bilan ishlashni o‘rganishlari kerak.

  1. Qo‘yilgan masala. 3 ta elementdan iborat ixtiyoriy nomdagi stek e’lon qiling, pop() funksiyasi yordamida elementlar o’chirilsin hamda empty() funksiyasidan foydalangan holda stek bo’shligi tekshirilsin

Ish tartibi:

  • Tajriba ishi nazariy ma’lumotlarini o‘rganish;

  • Berilgan topshiriqning algoritmini ishlab chiqish;

  • C++ dasturlash muhitida dasturni yaratish;

  • Natijalarni tekshirish;

  • Hisobotni tayyorlash va topshirish.

Stakning barcha elementlari bir xil bo‘lganligi sababli, C yoki C ++ dagi Arrays yordamida stekni amalga oshirish juda oson. Stakning birinchi elementini birinchi qator uyasiga, stackning ikkinchi elementini ikkinchi qator uyasiga va hokazolarni qo‘yish mumkin. Stekning yuqori qismi bu stekka qo‘shilgan so‘nggi elementning indeksidir. Stekni amalga oshirishda stack elementlari massivda saqlanadi.


STACK bu ma’lumotlar strukturasi bo‘lib, unda elementlarga faqat bitta uchida, ya’ni Last In First Out ma’lumotlar tuzilmasida kirish mumkin (ochilgan yoki itarilgan). Shunday qilib, stack elementiga faqat tepadan kirish mumkin, pastki yoki o‘rtadan emas.Stekning bu xususiyati juda muhimdir va uni yaxshi tushunish kerak.
Massivning yuqori holatini kuzatib borish uchun biz shunchaki Top of Stack deb nomlangan boshqa o‘zgaruvchini e’lon qilishimiz mumkin.
Stack LIFO algoritmini, ya’ni Last In First Out (LIFO) tuzilmasidan foydalanadi. Yangi boshlanuvchilar uchun bu biroz chalkash, ammo bu juda oson tushuncha(5-rasm)

Download 32.34 Kb.

Do'stlaringiz bilan baham:
1   2   3




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