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