PDA

Visualizza la versione completa : [C++] Ottenere una coda (queue) da uno stack


Cesaropa12
28-11-2006, 16:15
C'è qualche istruzione veloce per ottenere un queue da uno stack?
Del tipo, io non posso eseguire questa istruzione:
stack<int> St;
queue<int> Temp=St;
C'è un modo veloce?

Cesaropa12
28-11-2006, 17:27
Ho creato una procedura per autorispondermi...Che voi sappiate non ci sono delle funzioni della libreria che svolgono questo tipo di conversioni?

queue<int> StackToQueue(stack<int> s)
{
int n=s.size ();
queue<int > Q;
vector<int> Temp(n);
for (int i=0;i<n;i++)
{
Temp[n-i-1]=s.top();
s.pop() ;
}
for (int i=0;i<n;i++)
{
Q.push (Temp[i]);
}
return Q;
}

ps. ho usato n=s.size() perchè quando esegue s.pop(), la grandezza della stack diminuisce.

Loading