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