顺序基本定义
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
数据结构学习之特殊线性表 队列
最新推荐文章于 2022-07-20 23:01:51 发布