4.1
Copied!
#include <iostream>
#include <vector>
#include <stack>
#include <string>
#include <array>
using namespace std;
int main() {
stack<int> st, st_one, st_two;
stack<string, vector<string>> vst;
vst.emplace("str1");
vst.emplace("str2");
vst.push("eostr");
for (int i = 0; i < 5; i) st.push(i);
for (int i = 0; i < 15; i ) st_one.emplace(i * 10);
st_two = st;
st.swap(st_one);
cout << st.size() << " " << st_one.size() << " " << st_two.size() << " " << vst.size() << endl;
while (!vst.empty()) {
cout << vst.top() << " : stack dagi oʻrni " << vst.size() << endl;
vst.pop();
}
int size = st.size();
while (size--) {
cout << st.top() << " : stack dagi oʻrni " << st.size() << endl;
st.pop();
}
while (st.size() != 0) {
cout << st_two.top() << " : stack dagi oʻrni " << st_two.size() << endl;
st_two.pop();
}
while (!st.empty()) {
cout << st.top() << " : stack dagi oʻrni " << st.size() << endl;
st.pop();
}
cout << st.size() << " " << st_one.size() << " " << st_two.size() << " " << vst.size() << endl;
cout << " stack st " << (st.empty() ? "" : "not ") << " empty" << endl;
cout << " stack vst" << (vst.empty() ? "" : "not ") << " empty" << endl;
cout << " stack st_one " << (st_one.empty() ? "" : "not ") << " empty" << endl;
system("pause");
return 0;
}
Run on cpp.sh
Copied!