顺序基本定义
typedef 100 maxsize;
typedef int elemtype;
elemtype item[maxsize];
int front;
int rear;
结构定义
#define maxsize 100;
typedef int elemtype;
struct qnode{
elemtype num[maxsize];
int front ,rear;
};
struct qnode queue;
链式结构
struct qhead
{
struct qnode *front;
struct qnode *rear;
};
struct qnode ;
{
struct qnode *next;
elemtype data;
};
一、队列的顺序初始化
initq (struct qnode queue)
{
queue.front=0;
queue.rear=0;
}
2.置空队列
clear(struct qnode queue)
{
queue.front=0;
queue.rear=0;
}
3.判断队列是否为空
int emptyq(struct qnode queue)
{
if(queue.front==queue.rear)
return (1);
else
return (0);
}
4.队列满运算
int fullq(struct qnode queue)
{
return (queue.rear==maxsize);
}
5.求队列长度
int lengthq(struct qnode queue)
{
return(queue.rear-queue.front);
}
6.数据元素入队
void insertq(struct qnode queue,elemtype k)
{
if(fullq(queue)))
printf("overflow");
else
queue.num[queue.rear]=k;
queue.rear++;
}
7.数据元素出队
el
数据结构学习之特殊线性表 队列
最新推荐文章于 2021-07-22 18:00:44 发布
本文详细探讨了数据结构中的特殊线性表——队列,讲解了其基本概念、工作原理以及在计算机科学中的应用。通过实例解析,阐述了队列的FIFO(先进先出)特性,并介绍了如何在实际编程中使用队列,包括队列的插入(入队)和删除(出队)操作。同时,讨论了队列在任务调度、缓冲区管理、打印机队列等场景中的重要作用。
摘要由CSDN通过智能技术生成