在VS2008中C++中为什么用queue的front()取得的不是队列的头部
#include<queue>#include<iostream>usingnamespacestd;structNode{chardata;Node*left;Node...
#include<queue>
#include<iostream>
using namespace std;
struct Node
{
char data;
Node* left;
Node* right;
};
void main()
{
queue<Node*> a;
Node* p=new Node();
cout<<"please enter chars:"<<endl;
while(1){
cin>>p->data;
if(p->data!='#'){
p->left=NULL;
p->right=NULL;
a.push(p);
cout<<a.front()->data<<endl;
}
else break;
}
while(!a.empty()){
cout<<a.front()->data<<endl;a.pop();
}
system("PAUSE");
}
为什么打印出来的结果不对,帮忙看下,谢谢 展开
#include<iostream>
using namespace std;
struct Node
{
char data;
Node* left;
Node* right;
};
void main()
{
queue<Node*> a;
Node* p=new Node();
cout<<"please enter chars:"<<endl;
while(1){
cin>>p->data;
if(p->data!='#'){
p->left=NULL;
p->right=NULL;
a.push(p);
cout<<a.front()->data<<endl;
}
else break;
}
while(!a.empty()){
cout<<a.front()->data<<endl;a.pop();
}
system("PAUSE");
}
为什么打印出来的结果不对,帮忙看下,谢谢 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询