0
队列使用链接列表实现:但程序无法运行,可能会出现什么错误?使用链接列表实现队列
#include<iostream>
#include<conio.h>
using namespace std;
struct node
{
int data;
node *next;
};
class queue
{
node *front, *rear;
public:
queue()
{
front=rear=NULL;
}
void insert_in_queue();
void delete_in_queue();
void display_queue();
};
void queue:: insert_in_queue()
{
node *ptr;
ptr= new node;
cout<<"\nInsert element\n";
cin>>ptr->data;
if(rear==NULL)
front=rear=ptr;
else
{ rear->next=ptr;
rear=ptr;
}
}
void queue:: delete_in_queue()
{
node *ptr;
ptr=front;
if(rear==NULL)
cout<<"\nUnderflow!!\n";
else if(front==rear)
front=rear=NULL;
else
front=front->next;
cout<<"\nThe deleted element is:: "<<ptr->data<<"\n";
delete ptr;
}
void queue:: display_queue()
{
node *ptr;
ptr=front;
cout<<"\nThe queue is:\n";
while(ptr!=NULL)
{
cout<<"|"<<ptr->data<<"|";
ptr=ptr->next;
}
}
void main()
{
queue q;
char ch;
int a;
ch='y';
cout<<"this is dynamic que progream\n\n\n";
do
{
cout<<"(1)->Insert/(2)->Delete\n";
cin>>a;
if(a==1)
q.insert_in_queue();
else
q.delete_in_queue();
q.display_queue();
cout<<"\nContinue?(y/n)\n";
cin>>ch;
}while(ch=='y');
cout<<"\nThe final queue is:\n";
q.display_queue();
system("pause");
}
控制台屏幕在进入第一个元素后消失,我找不出错误在哪里。
使用[调试器](https://ericlippert.com/2014/03/05/how-to-debug - 小程序/)来找出问题所在。 – nwp
dibugger运行程序,但程序在执行期间停止。如何进行? –
***如何继续?***您逐行执行代码,让您的调试器逐行查看每个步骤的变量,直到您的代码执行一些您并不期望的操作。 – drescherjm