st_str;
// st_int va st_str ga elementlarni push qilish
// st_int va st_str ni almashtirish
st_int.swap(st_str);
Ushbu kod fragmentida ikkita har xil tipda bo'lgan stack'lar (`st_int` va `st_str`) almashtirilyapti. `swap()` funksiyasi yordamida bu operatsiya amalga oshiriladi.
5- (!vst.empty()) qachon chin va qachon yolg‘on qiymatlarni qaytaradi:
!vst.empty() ifodasi vst stack'i bo'sh yoki emas ekanligini tekshiradi.
1. Agar vst stack'i bo'sh bo'lsa, ya'ni ichida hech qanday element bo'lmasa, !vst.empty() ifodasi true (chin) qiymatni qaytaradi.
2. Agar vst stack'ida biror-bir element bo'lsa, !vst.empty() ifodasi false (yolg'on) qiymatni qaytaradi.
Boshqacha qilib aytganda:
- Agar vst stack'i bo'sh bo'lsa, !vst.empty() true qiymatni qaytaradi.
- Agar vst stack'ida biror-bir element bo'lsa, !vst.empty() false qiymatni qaytaradi.
Yani !vst.empty() ifodasi vst stack'i bo'sh emasligi holatida true qiymatni, aksi holda false qiymatni qaytaradi.
6- Stekdan elementlarni ishlash funksiyasini tuzing:
#include
#include
using namespace std;
// Stekdan elementlarni chiqarib olish va ekranga chiqarish
void processStack(stack& st) {
while (!st.empty()) {
cout << "Element: " << st.top() << ", position in stack: " << st.size() << endl;
st.pop();
}
}
int main() {
stack myStack;
// Stekka elementlarni qo'shish
myStack.push(10);
myStack.push(20);
myStack.push(30);
myStack.push(40);
myStack.push(50);
// Stekdan elementlarni ishlab chiqish
processStack(myStack);
return 0;
}
Ushbu kod misolida processStack() funksiyasi stekdan elementlarni olib, ularni ekranga chiqaradi. Funksiya quyidagi ishlarni bajaradi:
1. !st.empty() shartini tekshiradi. Agar stek bo'sh bo'lmasa, funksiya bajariladi.
2. st.top() orqali stekdagi oxirgi (eng yuqorida turgan) elementni oladi va uni ekranga chiqaradi.
3. st.pop() orqali stekdan eng yuqorida turgan elementni o'chiradi.
4. Shu jarayon stek bo'sh bo'lguncha davom etadi.