📄 operate_lqueue.h
字号:
/*=====================================*/
/*定义结构体 */
/*=====================================*/
typedef struct Lqueue{
int data;
struct Lqueue *next;
}L_queue;
/*=====================================*/
/*定义指向L_queue的结构体 */
/*=====================================*/
typedef struct
{
L_queue *front, *rear;
}Queue_p;
/*=====================================*/
/*建立front/rear指针,空表 */
/*=====================================*/
void Emplty_Queue(Queue_p *q_p, L_queue *l_q)
{
q_p->front=q_p->rear=l_q;
}
/*=====================================*/
/*入队列 */
/*=====================================*/
void Insert_Queue(Queue_p *q_p,int scan_max)
{
int i, scan_x;
L_queue *temp;
temp=(L_queue *)malloc(sizeof(L_queue));
if(temp!=NULL)
{
for(i=0; i<scan_max; i++)
{
printf("元素%d=",i+1);
scanf("%d",&scan_x);
temp->data=scan_x;
temp->next=NULL;
/*修改尾指针和加入新节点 */
q_p->rear->next=temp;
q_p->rear=temp;
temp=(L_queue *)malloc(sizeof(L_queue));
}
}
else
printf("申请空间错误\n");
}
/*=====================================*/
/*显示队列 */
/*=====================================*/
void Out_Queue(Queue_p *q_p)
{
L_queue *s=q_p->front->next;
if(s==NULL)
printf("空队列\n");
else
{
while(s!=NULL)
{
printf("%d",s->data);
s=s->next;
}
printf("\n");
}
}
/*=====================================*/
/*出队列 */
/*=====================================*/
void Push_Queue(Queue_p *q_p)
{
int x;
L_queue *temp;
L_queue *s=q_p->front;
if(s->next!=NULL)
{
/*保存并释放出队列节点地址,修改头节点 */
x=s->next->data;
temp=s->next;
s->next=s->next->next;
free(temp);
printf("出队列的元素为[%d]\n",x);
}
else
printf("出错\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -