// 函数queueEmpty:判断队列iq是否为空
// 参数:iq-整数队列
// 返回值:true-队列iq为空,false-iq不为空
bool queueEmpty(intQueue iq)
{
return iq == NULL;
}
// 函数enQueue:将整数num入列到iq
// 参数:iq-整数队列,传引用,入列有可能改变队列头指针,num-入列的整数
// 返回值:无,只要还有内存,入列总会成功
void enQueue(intQueue &iq, int num)
{
node * new_node = new node;
new_node->data = num;
new_node->next = NULL;
// 查找队尾
if(iq == NULL)iq = new_node;
else// 队列非空
{
node * p = iq;
while(p->next)p=p->next;
p->next = new_node;
}
}
// 函数deQueue:出列
// 参数:iq-整数队列,传引用,出列有可能改变队列头指针
// 返回值:出列结点的数据,如果队列为空,返回-1
int deQueue(intQueue &iq)
{
if(queueEmpty(iq)) return -1;
// 此时队列一定有元素
node * copy = iq;
int ret = iq->data;
iq = iq->next;
delete copy;
return ret;
}
【线性表实训】线性表应用二:队列
最新推荐文章于 2024-07-25 17:57:45 发布