intercola.cpp
#define USECHRONO
#undef HAVE_MPI
#include "eval.hpp"
#include <cassert>
#include <climits>
#include <cstdlib>
#include <queue>
/* COMIENZO DE DESCRIPCION
__USE_WIKI__
Dada una cola #Q# de enteros de longitud par, escribir una
funcion #void intercalarCola(queue<int>& Q),# que intercale
los elementos de la primera mitad de la cola con los
elementos de la segunda mitad.
[Tomado en el Trabajo Practico de Laboratorio 1
(TPL1) de 2020-09-24]
keywords: cola
FIN DE DESCRIPCION */
using namespace aed;
using namespace std;
void intercalarCola(queue<int>& Q) {
stack<int> Saux;
int N = Q.size() / 2;
for(int i=0; i<N; i++) {
Saux.push(Q.front());
Q.pop();
}
while(!Saux.empty()) {
Q.push(Saux.top());
Saux.pop();
}
for(int i=0; i<N; i++) {
Q.push(Q.front());
Q.pop();
}
for(int i=0; i<N; i++) {
Saux.push(Q.front());
Q.pop();
}
while(!Saux.empty()) {
Q.push(Saux.top());
Saux.pop();
Q.push(Q.front());
Q.pop();
}
}
//---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>
int main() {
Eval ev;
int vrbs = 0;
ev.eval<1>(intercalar_cola,vrbs);
return 0;
}
Generated by GNU Enscript 1.6.6.