4.2

#include <iostream> 
#include <list> 
#include <queue> 
#include <string>
#include <array>
using namespace std;

int main() {

	queue<int> st, st_one, st_two;
	queue<string, list<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.front() << " : stack dagi oʻrni " << vst.size() << endl;
		vst.pop();
	}

	int size = st.size();
	while (size--) {
		cout << st.front() << " : stack dagi oʻrni " << st.size() << endl;
		st.pop();
	}

	while (st.size() != 0) {
		cout << st_two.front() << " : stack dagi oʻrni " << st_two.size() << endl;
		st_two.pop();
	}

	while (!st.empty()) {
		cout << st.front() << " : 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