O’ZBEKISTON RESPUBLIKASI
AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
QARSHI FILIALI
“ TT VA KT” FAKULTETI
2– BOSQICH TT-11/21 GURUH TALABASINING
MA’LUMOTLAR TUZILMASI VA ALGORITMLAR
FANIDAN TAYYORLAGAN
5-Laboratoriya ishi
Bajardi: Abdusalomova Y. Qabul qildi:Zoxidov J.
QARSHI – 2022
5-amaliy mashg’ulot
Mavzu: List konteynerlar. Ro’yxatlar ustida amallar. Ishdan maqsad: List konteynerlarni o‘rganish va uni ustida amal bajarish algoritmlarini tadqiq qilish.
Qo‘yilgan masala: C++ tilida ro‘yhatli tuzilma elementlarini list konteyneri orqali e’lon qilish, uning ustida turli amallar bajarish dasturini ishlab chiqish.
Ishni vazifasi:
List konteynerlar.
Ro’yxatlar ustida amallar;
Ish tartibi:
Amaliy mashg’ulot nazariy ma’lumotlarini o‘rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
2.Ro’yxat o‘rtasidagi element o‘chirib tashlansin. Agar navbat elementlari soni toq bo‘lsa, bitta element, aks holda ikkita element o‘chirilsin.
Dastur kodi:
#include
using namespace std;
void deleteMid_util(stack&s, int sizeOfStack, int current)
{
if(current==sizeOfStack/2)
{
s.pop();
return;
}
// yuqori elementni o'zgaruvchida saqlash va uni ochish uchun.
int x = s.top();
s.pop();
current+=1;
deleteMid_util(s,sizeOfStack,current);
s.push(x);
}
void deleteMid(stack&s, int sizeOfStack)
{
deleteMid_util(s,sizeOfStack,0);
}
int main()
{
stack st;
st.push('1');
st.push('2');
st.push('3');
st.push('4');
st.push('5');
st.push('6');
st.push('7');
deleteMid(st, st.size());
while (!st.empty())
{
char p=st.top();
st.pop();
cout << p << " ";
}
return 0;
}
Do'stlaringiz bilan baham: |