`
jacobcookie
  • 浏览: 94844 次
社区版块
存档分类
最新评论

队列的链式实现

阅读更多
#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");
}
 
分享到:
评论

相关推荐

    顺序队列和链式队列的实现

    顺序队列和链式队列的实现 在计算机科学中,队列是一种重要的数据结构,广泛应用于多种领域。在本节中,我们将讨论顺序队列和链式队列的实现。 顺序队列 顺序队列是一种基于数组的队列实现方式。其主要特点是使用...

    【课件】3.2.3_队列的链式实现.pdf

    接下来将详细阐述与队列链式实现相关的知识点。 ### 一、队列的基本概念 队列是一种特殊的线性表,它只允许在表的一端进行插入操作,在另一端进行删除操作。这种数据结构遵循先进先出(FIFO, First In First Out)...

    队列的链式实现(java)

    本篇将详细探讨如何使用Java语言实现链式队列,这是一种非数组形式的队列实现,通过节点连接来存储数据。 链式队列的实现通常涉及两个主要部分:队头(front)和队尾(rear)。队头指向队列的第一个元素,而队尾...

    java队列实现(顺序队列、链式队列、循环队列)

    在Java中,队列的实现主要有三种:顺序队列、链式队列和循环队列。下面我们将详细探讨这三种队列的实现方式。 1. **顺序队列**: 顺序队列通常是基于数组实现的。在Java中,我们可以使用ArrayList或LinkedList来...

    链式队列的实现

    该文件实现链式队列功能,包含队列的创建queucreat、入队add与出队output,并通过打印显示函数的执行效果。

    链式队列C实现

    链式队列是一种数据结构,它是队列的一种实现方式,主要特点是使用链表来存储队列中的元素。在计算机科学中,队列是一种先进先出(First In First Out, FIFO)的数据结构,常用于处理一系列待处理的任务或事件。与...

    c语言 链式队列的实现

    在C语言中,链式队列的实现通常涉及结构体的定义、节点的创建与销毁、以及一系列针对队列操作的函数。下面我们将深入探讨链式队列的实现细节。 首先,我们需要定义一个结构体来表示队列中的节点。每个节点包含两个...

    C++数据结构之链式队列实现

    链式队列是一种基于链表的数据结构,常用于实现队列这种先进先出(FIFO,First In First Out)的数据组织方式。在C++中,链式队列可以通过定义一个节点类来存储队列中的元素,并通过头节点和尾节点来追踪队列的状态...

    队列的动态链式存储实现

    队列的动态链式存储实现,DynaLnkQueue.cpp

    顺序存储和链式存储的泛型队列_C语言项目

    本项目专注于实现顺序存储和链式存储的泛型队列,使用C语言作为编程工具,旨在提供灵活且高效的操作接口。下面我们将深入探讨相关知识点。 首先,队列是一种先进先出(First In First Out, FIFO)的数据结构,它的...

    链式队列实现例子

    JAVA语言实现数据的链式结构 分享下挣挣人气

    队列的链式存储与代码实现

    链式存储是实现队列的一种有效方式,尤其是在处理大量数据时,它能提供更灵活的内存管理。 在链式存储的队列中,每个元素被称为一个节点,包含数据域和指针域。数据域用于存储元素值,指针域则指向下一个节点。队列...

    队列的实现:链式队列

    用链表的形式实现队列,提供常见操作,出队、入队……

    链式队列的实现 C++源代码

    ### 链式队列的实现 C++源代码解析 #### 一、链式队列概念及特点 链式队列是一种使用链表结构来实现的队列数据结构。相较于数组实现的队列,链式队列在动态扩展方面具有更大的灵活性。在链式队列中,每个节点包含...

    严蔚敏-数据结构--链式队列c++实现

    链式队列是一种在计算机科学中广泛使用的数据结构,它以链表为基础,实现了队列“先进先出”(FIFO)的原则。在C++中实现链式队列,可以让我们更加灵活地处理数据,特别是在处理大量数据或者需要动态扩展容量的场景...

    C语言实现队列源码,包含顺序队列,链式队列,循环队列,亲测可用

    本文将详细讨论在C语言中实现的几种队列类型,包括顺序队列、链式队列以及循环队列,并结合提供的源代码进行解析。 顺序队列是基于数组实现的数据结构,它的特点是操作主要集中在数组的两端:一端称为队头,用于出...

    C语言实现链式队列

    链式队列

    链式队列的基本运算

    链式队列是一种在计算机科学中广泛使用的数据结构,它基于链表实现,与传统的数组队列相比,具有更大的灵活性。在本程序中,我们主要关注链式队列的六个核心操作,这些操作对于理解和应用链式队列至关重要。 1. **...

    队列链式存储(带头结点).zip

    本文件“队列链式存储(带头结点).zip”提供了一个C++实现的队列链式存储结构,特别地,它使用了带头结点的设计,这对于理解和实现队列具有很好的教学价值。 链式存储的队列不同于数组实现的队列,它不依赖于连续...

Global site tag (gtag.js) - Google Analytics