📄 queue_linklist.cpp
字号:
#include<iostream.h>
#include<alloc.h>
#include<stdlib.h>
//using namespace std;
class queue
{
private:
int data;
public:
queue *next;
void append(queue **,queue **,int);
void del(queue **,queue **);
int display(queue *);
};
void queue::append(queue **f,queue **r,int i)
{
queue *temp=(queue *)malloc(sizeof(queue));
temp->data=i;
temp->next=NULL;
if(*f==NULL)//starting node
*f=*r=temp;
else
{
(*r)->next=temp;
*r=temp;
}
cout<<"\nItem appended!!"<<endl;
}
void queue::del(queue **f,queue **r)
{
int item;queue *temp;
if(*f==NULL && *r==NULL)
cout<<"\nQueue Empty!!"<<endl;
else//delete node at beginning
{
cout<<"\nItem deleted is :"<<(*f)->data<<endl;
if(*f==*r)//only one node
{
free(*f);
*f=*r=NULL;
}
else
{
temp=(*f)->next;
free(*f);
*f=temp;
}
}
}
int queue::display(queue *f)
{
int c=0;
if(f==NULL)
{
cout<<"\nQueue Empty!!";
return c;
}
else
while(f!=NULL)
{
cout<<f->data<<" ";c++;
f=f->next;
}
return c;
}
int main()
{
int ch,item;
queue q;
queue *front=NULL,*rear=NULL;
do
{
cout<<"\nMENU\n1.append\n2.delete\n3.display\n4.exit\nEnter your choice :";
cin>>ch;
switch(ch)
{
case 1:
cout<<"\nEnter the item to append :";
cin>>item;
q.append(&front,&rear,item);
break;
case 2:
q.del(&front,&rear);
break;
case 3:
cout<<"\nNo. of elements in queue is :"<<q.display(front)<<endl;
break;
case 4:
exit(0);
}
}while(ch!=4);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -