C++
x
52
1
2
3
4
5
6
using std::cout;
7
using std::queue;
8
using std::stack;
9
using std::cout;
10
using std::list;
11
using std::string;
12
13
struct Class1 {
14
string name;
15
list<string> l;
16
Class1() {}
17
Class1(const string& na, const list<string>& li) : name(na), l(li) {}
18
19
list<string>& getList() { return l; }
20
string& getNombre() { return name; }
21
};
22
23
int contador = 0;
24
25
void funcion(queue<Class1>& initialQueue, stack<Class1>& stackMenor, stack<Class1>& stackMayor, int limitSize) {
26
while ( !initialQueue.empty() ) {
27
cout << "!!!Name" << initialQueue.front().getNombre() << " size " << initialQueue.front().getList().size() << "\n";
28
initialQueue.pop();
29
if (contador <= limitSize) {
30
stackMenor.push(initialQueue.front());
31
initialQueue.pop();
32
}
33
else {
34
stackMayor.push(initialQueue.front());
35
initialQueue.pop();
36
}
37
}
38
}
39
40
int main(void) {
41
queue<Class1> q;
42
stack<Class1> s1, s2;
43
q.push(Class1("name1", {"a", "b", "c", "d", "e", "f"}));
44
q.push(Class1());
45
q.push(Class1("name2", {"a", "b", "c", "d", "e", "f"}));
46
q.push(Class1());
47
q.push(Class1("name3", {"a", "b", "c", "d", "e", "f", "g"}));
48
q.push(Class1());
49
funcion(q, s1, s2, 9999);
50
return 0;
51
}
52
$ g++ prog.cc -Wall -Wextra -std=c++11 -pedantic
Start
!!!Namename1 size 6 !!!Namename2 size 6 !!!Namename3 size 7
0
Finish