栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++//队列,循环队列,双端队列

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++//队列,循环队列,双端队列

队列
queue  q;
q.push(i);
q.pop();//不返回值
q.front();//返回队首
q.back();//返回队尾
q.size();
q.empty();
双端队列
#include
deque q;
q.push_front(x);
q.push_back(x);
q.pop_front();
q.pop_back();
q.clear();
q.empty();
q.size();
c++循环队列
typedef struct queue{
	int count;
	int front;
	int rear;
	int data[MAX_SIZE];
}Queue;

void Init(Queue *ptr)
{
	ptr->count=0;
	ptr->rear=-1;
	ptr->front=0;
}

bool QueueFull(Queue *ptr)//判断队列是否满
{
	return ptr->count>=MAX_SIZE;
}

bool QueueEmpty(Queue *ptr)//判断队列是否为空
{
	return ptr->count<=0;
}

void Append(Queue *ptr,int item)//入队列
{
	if(QueueFull(ptr))
	{
		cout<<"满了";
		return;
	}
	else{
		ptr->count++;
		ptr->rear=(ptr->rear+1)%MAX_SIZE;
		ptr->data[ptr->rear]=item;
	}
}

void Pop(Queue *ptr)//出队列
{
	if(QueueEmpty(ptr))
	{
		cout<<"队列为空";
		return;
	}
	else{
		ptr->count--;
		ptr->front=(ptr->front+1)%MAX_SIZE;
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779318.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号