Ich versuche, die gerade oder ungerade Zahlen in verschiedenen Stapeln & Warteschlangen zu implementieren. Hier ist mein Code:C++ mit Stacks & Queues zu trennen gerade und ungerade Zahlen
Wie kann ich meine Stack & Warteschlange anzeigen? Wie kann ich in ungerade oder gerade in einer Warteschlange trennen?
#include <iostream>
#include <stack>
#include <queue>
using namespace std;
int main()
{
stack <int> s1;
queue <int> q1;
int num[10]={0};
for(int i = 0; i < 10; i++)
{
cout << "Enter Number " << i << ": ";
cin >> num[i];
s1.push(num[i]);
}
int s2;
int q2;
cout << "In Stack" << "\t" << "In Queue" << endl;
while(!q1.empty())
{
for(int i = 0; i <10; i++)
{
if(num[i]%2 == 0)
{
s2 = s1.top();
s1.pop();
}
else
{
q2 = q1.front();
q1.pop();
}
}
cout << s2 << "\t\t" << q2 << endl;
}
return 0;
}
Selbst in einem Stapel und Odd in einer Warteschlange !? Es ist nicht klar, was Sie erreichen möchten –
Sie können nicht über einen ['std :: stack'] (http://en.cppreference.com/w/cpp/container/stack) oder [' std :: iterieren: queue "] (http://en.cppreference.com/w/cpp/container/queue) direkt, so dass es keine Möglichkeit gibt, ihre Werte anzuzeigen, ohne die Elemente daraus zu entfernen. –
Ich erstelle zwei Stapel und zwei Warteschlangen. Ich möchte alle geraden und ungeraden Zahlen in einem Stapel hinzufügen. Will auch das gleiche mit einer Warteschlange. –