⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 链队列的基本操作.txt

📁 这是有关数据结构的例程序
💻 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 + -