Mọi người giúp em
Em có struct 1 cái stack và 1 cái queue.Nếu dưới hàm main của em mà khai báo struct stack thì chương trình chạy bị lỗi, cụ thể là lỗi tại hàm pushqueue .
Nhưng nếu không khai báo stack ở hàm main thì chương trình chạy rất bình thường, không lỗi.
Việc tạo 1 cái cấu trúc stack và khai báo nó tại hàm main có ảnh hưởng gì tới Queue mà chương trình chạy bị sai ạ.
Mong mọi người giúp đỡ
#include<iostream>
using namespace std;
struct node
{
char data;
node* pnext;
};
struct queue
{
node*ptop;
};
struct stack
{
node*phead;
};
void PushQueue(queue &calculator, node* p)
{
if (calculator.ptop == NULL)
{
calculator.ptop = p;
}
else
{
for (node*k = calculator.ptop; k != NULL; k = k->pnext)
{
if (k->pnext == NULL)
{
k->pnext = p;
break;
}
}
}
}
node* khoitaonode(char x)
{
node*p = new node;
if (p == NULL)
{
cout << "khoi tao node khong thanh cong";
return NULL;
}
p->data = x;
p->pnext = NULL;
return p;
}
int main()
{
//stack m;
queue x;
cout<<"nhap n ";
int n;
cin>>n;
for(int i=0;i<n;i++)
{
char tam;
cout<<"nhap tam ";cin>>tam;
node*p=khoitaonode(tam);
PushQueue(x,p);
}
for(node*m=x.ptop;m!=NULL;m=m->pnext)
{
cout<<m->data;
}
return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?