📄 链队列的基本操作.txt
字号:
definition.h
===================================
typedef char ElemType;
typedef struct{
ElemType data;
struct Qnode *next;
}Qnode, *Qptr;//队列结点
typedef struct{
Qptr front, rear;//队头指针,队尾指针
}LinkQueue;
int InitQueue(LinkQueue *);//建立空队列
void Destroy(LinkQueue *);//销毁队列
int EnQueue(LinkQueue *, ElemType);//进入队列
int DeQueue(LinkQueue *);//出队
=====================================================================
main.c
====================================
#include<stdio.h>
#include"definition.h"
int main()
{ return 0;
} ================================================
function.c
=================================================
#include <stdio.h>
#include <malloc.h>
#include "definition.h"
int InitQueue(LinkQueue *Q)//建立空队列
{ Q->rear=Q->front=(Qptr)malloc(sizeof(Qnode));
if(!Q->front)
return 1;
Q->front->next=NULL;
return 0;
}
void Destroy(LinkQueue *Q)//销毁队列
{ while(Q->front){
Q->rear=Q->front->next;
free(Q->front);
Q->front=Q->rear;
}
}
int EnQueue(LinkQueue *Q, ElemType e)//进入队列
{ Qptr tmp;
tmp=(Qptr)malloc(sizeof(Qnode));
if(!tmp)
return 1;
tmp->data=e;
tmp->next=NULL;
Q->rear->next=tmp;
Q->rear=tmp;
return 0;
}
int DeQueue(LinkQueue *Q)//出队
{ Qptr tmp;
if(Q->front==Q->rear)
return 1;//如果队列已空,返回1
tmp=Q->front->next;
Q->front->next=tmp->next;
if(Q->rear==tmp)//如果队尾元素被删除,则队尾指针要指向头结点
Q->rear=Q->front;
free(tmp);
return 0;
} =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -