1. Navbatda birinchi elementga teng barcha elementlar o‘chirilsin


Download 31.9 Kb.
Sana08.05.2023
Hajmi31.9 Kb.
#1442848
Bog'liq
Документ Microsoft Word (4)


4-Amaliy mashg’ulot.
1. Navbatda birinchi elementga teng barcha elementlar o‘chirilsin.
C++ da navbatdagi birinchi elementga teng barcha elementlarni olib tashlash uchun quyidagi amallarni bajaring:

  1. `Front()` usuli yordamida navbatning birinchi elementini oling.

  2. Navbatning birinchi elementi kerakli elementga teng bo'lsa, bajariladigan "while" tsiklini tashkil qiling.

  3. Navbatdagi birinchi elementni olib tashlash uchun tsikl ichida `pop()` usulini chaqiring.

  4. Agar navbat bo'sh bo'lsa yoki birinchi element kerakli elementga teng bo'lmasa, u holda pastadirdan chiqing.

Kod misoli:

#include
#include

using namespace std;

int main()
{
queue q;
q.push(1);
q.push(2);
q.push(1);
q.push(3);
q.push(1);
q.push(4);

while(!q.empty() && q.front() == 1){


q.pop();
}

while(!q.empty()){


cout << q.front() << " ";
q.pop();
}

return 0;


}

2. Navbat eng kichik elementi topilsin va uning o‘rniga eng katta element qiymati joylashtirilsin.


Quyida ushbu muammoni hal qilishning misoli keltirilgan.
#include
#include

using namespace std;

int main() {
queue q;
q.push(5);
q.push(3);
q.push(8);
q.push(1);

int min_val = q.front();


queue tmp_q;
while(!q.empty()) {
int val = q.front();
q.pop();
if(val < min_val) {
min_val = val;
}
tmp_q.push(val);
}

int max_val = min_val;


while(!tmp_q.empty()) {
int val = tmp_q.front();
tmp_q.pop();
if(val > max_val) {
max_val = val;
}
q.push(val);
}

while(!q.empty()) {


int val = q.front();
q.pop();
if(val == min_val) {
val = max_val;
}
cout << val << " ";
}
cout << endl;

return 0;


}



Ushbu misolda biz navbat yaratamiz, unga elementlar qo'shamiz va eng kichik elementni qidiramiz. Keyin biz vaqtinchalik navbat yaratamiz va elementlarning tartibini saqlash uchun birinchi navbatdan barcha elementlarni unga o'tkazamiz. Keyinchalik, biz eng katta elementni qidiramiz va birinchi navbatda eng kichik elementni almashtiramiz. Nihoyat, biz navbatning barcha elementlarini chiqaramiz.

Download 31.9 Kb.

Do'stlaringiz bilan baham:




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