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");
}
最初の要素を入力した後にコンソール画面が消えてしまい、間違いがどこにあるのかわかりません。 insert_in_queue()
機能で
を使用してください(https://ericlippert.com/2014/03/05/how-to-debug -small-programs /)を使って、何がうまくいかなかったかを調べる。 – nwp
ディブガーはプログラムを実行しますが、プログラムは実行中に停止します。どうやって進める? –
***どのように進めますか?***コードは、デバッガでコードごとにステップごとに段階的に変数を調べ、コードが期待していないことを実行するまで実行します。 – drescherjm