📄 list_queue.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
typedef struct node //声明结点类型NODE
{ int data;
struct node *next;
} NODE;
NODE *tail,*head=NULL;
void Print() /*输出队列内容*/
{ NODE *temp=head;
while(temp!=NULL)
{ printf("[%d] ",temp->data);
temp=temp->next;
}
printf("\n");
}
/*进队*/
void Insert(int value)
{ NODE *p;
p=(NODE *)malloc(sizeof(NODE));
p->data=value;
p->next=NULL;
if(head==NULL)
head=p; //若为空,连接到头结点
else
tail->next=p; //链表非空,连接到尾结点
tail=p;
}
/*出队*/
int Delete(int *val)
{
NODE *p;
if(head==NULL)
{
printf("The queue is empty ! \n");
return FALSE;
}
*val=head->data;
p=head;
head=head->next;
free(p);
return TRUE;
}
/*主程序*/
void main()
{
int choose,val_in,val_out;
while(1)
{
printf("\n 1: 进队");
printf("\n 2: 出队");
printf("\n 3: 退出");
printf("\n 请选择=>");
scanf("%d",&choose);
switch(choose)
{
case 1:
printf("Input the data=>");
scanf("%d",&val_in);
Insert(val_in);
printf("\nThe queue after inserted is: ");
Print();
break;
case 2:
if(Delete(&val_out)==TRUE)
{
printf("The output value is [%d]\n",val_out);
printf("\nThe queue after inserted is: ");
Print();
}
break;
case 3:
return;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -