#include<stdio.h>
#include<stdlib.h>
typedef char DataType;
//定义队列中的结点类型
typedef struct node
{
DataType data;
struct node * next;
}qnode;
//定义队列的队头和队尾指针
typedef struct
{
qnode * front,*rear;
}linkQueue;
//初始化队列
void init(linkQueue *q)
{
q->front=q->rear=NULL;
}
//判断队列是否为空
int isEmpty(linkQueue q)
{
return NULL==q.front;
}
//元素入队
void inQueue(linkQueue *q,DataType e)
{
qnode * node;
node=(qnode *)malloc(sizeof(qnode));//新增一个结点
node->data=e;
node->next=NULL;
if(isEmpty(*q))//判断是不是第一个元素
{
q->front=q->rear=node;
}
else
{
q->rear->next=node;
q->rear=node;
}
}
//元素出队
DataType outQueue(linkQueue *q)
{
DataType x;
qnode *temp;
if(isEmpty(*q))
{
printf("It's empty,can't delete !");
return NULL;
}
else
{
temp=q->front;
x=temp->data;
q->front=temp->next;
free(temp);//释放结点所占的内存空间
return x;
}
}
void main()
{
linkQueue queue;
init(&queue);
DataType c;
while((c=getchar())!='\n')
{
inQueue(&queue,c);
}
while(!isEmpty(queue))
{
printf("%c ",outQueue(&queue));
}
printf("\n");
}
分享到:
相关推荐
顺序队列和链式队列的实现 在计算机科学中,队列是一种重要的数据结构,广泛应用于多种领域。在本节中,我们将讨论顺序队列和链式队列的实现。 顺序队列 顺序队列是一种基于数组的队列实现方式。其主要特点是使用...
接下来将详细阐述与队列链式实现相关的知识点。 ### 一、队列的基本概念 队列是一种特殊的线性表,它只允许在表的一端进行插入操作,在另一端进行删除操作。这种数据结构遵循先进先出(FIFO, First In First Out)...
本篇将详细探讨如何使用Java语言实现链式队列,这是一种非数组形式的队列实现,通过节点连接来存储数据。 链式队列的实现通常涉及两个主要部分:队头(front)和队尾(rear)。队头指向队列的第一个元素,而队尾...
在Java中,队列的实现主要有三种:顺序队列、链式队列和循环队列。下面我们将详细探讨这三种队列的实现方式。 1. **顺序队列**: 顺序队列通常是基于数组实现的。在Java中,我们可以使用ArrayList或LinkedList来...
该文件实现链式队列功能,包含队列的创建queucreat、入队add与出队output,并通过打印显示函数的执行效果。
链式队列是一种数据结构,它是队列的一种实现方式,主要特点是使用链表来存储队列中的元素。在计算机科学中,队列是一种先进先出(First In First Out, FIFO)的数据结构,常用于处理一系列待处理的任务或事件。与...
在C语言中,链式队列的实现通常涉及结构体的定义、节点的创建与销毁、以及一系列针对队列操作的函数。下面我们将深入探讨链式队列的实现细节。 首先,我们需要定义一个结构体来表示队列中的节点。每个节点包含两个...
链式队列是一种基于链表的数据结构,常用于实现队列这种先进先出(FIFO,First In First Out)的数据组织方式。在C++中,链式队列可以通过定义一个节点类来存储队列中的元素,并通过头节点和尾节点来追踪队列的状态...
队列的动态链式存储实现,DynaLnkQueue.cpp
本项目专注于实现顺序存储和链式存储的泛型队列,使用C语言作为编程工具,旨在提供灵活且高效的操作接口。下面我们将深入探讨相关知识点。 首先,队列是一种先进先出(First In First Out, FIFO)的数据结构,它的...
JAVA语言实现数据的链式结构 分享下挣挣人气
链式存储是实现队列的一种有效方式,尤其是在处理大量数据时,它能提供更灵活的内存管理。 在链式存储的队列中,每个元素被称为一个节点,包含数据域和指针域。数据域用于存储元素值,指针域则指向下一个节点。队列...
用链表的形式实现队列,提供常见操作,出队、入队……
### 链式队列的实现 C++源代码解析 #### 一、链式队列概念及特点 链式队列是一种使用链表结构来实现的队列数据结构。相较于数组实现的队列,链式队列在动态扩展方面具有更大的灵活性。在链式队列中,每个节点包含...
链式队列是一种在计算机科学中广泛使用的数据结构,它以链表为基础,实现了队列“先进先出”(FIFO)的原则。在C++中实现链式队列,可以让我们更加灵活地处理数据,特别是在处理大量数据或者需要动态扩展容量的场景...
本文将详细讨论在C语言中实现的几种队列类型,包括顺序队列、链式队列以及循环队列,并结合提供的源代码进行解析。 顺序队列是基于数组实现的数据结构,它的特点是操作主要集中在数组的两端:一端称为队头,用于出...
链式队列
链式队列是一种在计算机科学中广泛使用的数据结构,它基于链表实现,与传统的数组队列相比,具有更大的灵活性。在本程序中,我们主要关注链式队列的六个核心操作,这些操作对于理解和应用链式队列至关重要。 1. **...
本文件“队列链式存储(带头结点).zip”提供了一个C++实现的队列链式存储结构,特别地,它使用了带头结点的设计,这对于理解和实现队列具有很好的教学价值。 链式存储的队列不同于数组实现的队列,它不依赖于连续...