当前位置: 首页 > news >正文

怎样进行站点优化泉州专门制作网站

怎样进行站点优化,泉州专门制作网站,在家做的网站编辑,最好的免费建站网站文章目录 queuequeue的介绍queue的使用 priority_queuepriority_queue介绍priority_queue使用 queue queue的介绍 队列是一种容器适配器,专门用于上下文先进先出的操作中。队列的特性是先进先出,从容器的一端插入,另一端提取元素。   队列…

文章目录

  • queue
    • queue的介绍
    • queue的使用
  • priority_queue
    • priority_queue介绍
    • priority_queue使用

queue

queue的介绍

  队列是一种容器适配器,专门用于上下文先进先出的操作中。队列的特性是先进先出,从容器的一端插入,另一端提取元素。
  队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。
  底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操作:empty(检测队列是否为空)、size(返回队列中有效元素的个数)、front(返回队头元素的引用)、back(返回队尾元素的引用)、push_back(在队列尾部插入元素)、pop_front(在队列头部删除元素)。
  标准容器类deque和list满足了这些要求。默认请情况下,如果没有为queue实例化指定底层容器类,则默认使用标准容器deque。

queue的使用

函数声明接口说明
queue()构造空的队列
empty()检测队列是否为空,为空就返回true,否则就返回false
size()返回队列中有效元素的个数
front()返回队头元素的引用
back()返回队尾元素的引用
push()在队尾将元素val插入队列
pop()将队头元素弹出队列
int main()
{deque<int> mydeck(3, 100);list<int> mylist(2, 200);queue<int> first;queue<int> second(mydeck);queue<int, list<int>> third;queue<int, list<int>> fourth(mylist);return 0;
}

在这里插入图片描述

int main()
{queue<int> myqueue;int sum(0);cout << myqueue.empty() << endl;for (int i = 1; i <= 10; i++)myqueue.push(i);cout << myqueue.empty() << endl;while (!myqueue.empty()){sum += myqueue.front();myqueue.pop();}cout << "total:" << sum << endl;return 0;
}

在这里插入图片描述

int main()
{queue<int> myints;cout << "0.size:" << myints.size() << endl;for (int i = 0; i < 5; i++)myints.push(i);cout << "1.size:" << myints.size() << endl;myints.pop();cout << "2.size:" << myints.size() << endl;return 0;
}

在这里插入图片描述

int main()
{queue<int> myqueue;myqueue.push(10);myqueue.push(20);myqueue.front() -= myqueue.back();cout << "myqueue.front():" << myqueue.front() << endl;myqueue.back() += myqueue.front();cout << "myqueue.back():" << myqueue.back() << endl;return 0;
}

在这里插入图片描述

  在C++11中,stack的成员函数也新增了emplace和swap。

priority_queue

priority_queue介绍

  优先队列是一种容器适配器,根绝严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。可以当做堆来理解,实际上和堆基本一致。在堆中可以随时插入元素,并且智能检索最大的堆元素(优先队列中位于顶部的元素)。
  优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类。priority_queue提供一组特定的成员函数来访问其元素。元素从特定容器的尾部被抛出,其称为有限队列的顶部。
  底层容器可以是任何标准容器类模板,也可以是其他特定设计的容器类。容器应该可以通过迭代器访问,并支持以下操作:empty(检测容器是否为空)、size(返回容器中有效元素的个数)、front(返回容器中第一个元素的引用)、push_back(在容器尾部插入元素)、pop_back(删除容器尾部的元素)。需要注意的是,这些操作是priority_queue必须具备的,并非是只能有这些操作。
  标准容器类vector和deque满足这些需求。默认情况下,如果没有为特定的priority_queue类实例化指定容器类,则使用vector。
  需要支持随机访问迭代器,以便始终在内部保持堆结构。容器适配器通过在需要时自动调用算法函数make_heap、push_heap和pop_heap来自动完成此操作。
  优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的地方,都可以考虑使用priority_queue。默认情况下priority_queue是大堆。

priority_queue使用

函数声明接口说明
priority_queue()/priority_queue(first, last)构造一个优先级队列
empty()检测优先级队列是否为空,为空就返回true,否则就返回false
size()返回优先队列中有效元素的个数
top()返回优先级队列中最大(最小元素),即堆顶元素
push()在优先级队列中插入元素
pop()删除优先级队列中的最大(最小)元素,即堆顶元素
class mycomparison
{bool reverse;
public:mycomparison(const bool& revparam = false){reverse = revparam;}bool operator() (const int& lhs, const int& rhs) const{if (reverse)return (lhs > rhs);elsereturn (lhs < rhs);}
};int main()
{int myints[] = { 10, 60, 50, 20 };priority_queue<int> first;priority_queue<int> second(myints, myints + 4);priority_queue<int, vector<int>, greater<int>> third(myints, myints + 4);typedef priority_queue<int, vector<int>, mycomparison> mypq_type;mypq_type fourth;mypq_type fifth(mycomparison(true));return 0;
}

在这里插入图片描述

int main()
{priority_queue<int> mypq;int sum(0);for (int i = 0; i < 10; i++)mypq.push(i);cout << "mypq size:" << mypq.size() << endl;cout << "mypq top:" << mypq.top() << endl;while (!mypq.empty()){sum += mypq.top();mypq.pop();}cout << "total:" << sum << endl;return 0;
}

在这里插入图片描述

http://www.yayakq.cn/news/742092/

相关文章:

  • 网站中加入地图深圳做网站的公
  • 网站首页设计多少钱推广赚钱的app
  • cms 网站模板优化网站排名软件
  • 博客网站搭建想做网站的公司好
  • 网站后台源代码长春 网站 设计公司
  • 手机开发网站建设一站式手机网站制作
  • php企业网站多少钱界面设计师培训
  • 网页建站素材模板孝义做网站
  • 网络广告策划名词解释seo百度关键字优化
  • 南皮县建设局网站wordpress logo更换
  • 网站服务器做下载链接网站建设 采集
  • 网站代码模板免费无代码建站软件
  • 政务移动门户网站建设沈阳网站建设 房小二
  • 有关游戏的网站建设规划书外贸型网站
  • 建一个企业网站要花多少钱百度识图扫一扫
  • 举报网站怎么做二次元百科官网wordpress
  • 企业网站flash网站建设的研究背景
  • 网站开发技术留言什么网站广告最多
  • 国外建筑设计网站推荐营销型网站和展示型网站的区别
  • 如何将自己做的网站传到网上东莞常平限电通知2021
  • 大连网站开发乛薇建设银行网站logo
  • 网站开发的工资一般是多少装修app
  • 湛江网站建设策划冷水滩做微信网站
  • 上海行业门户网站建设工具建设项目环保验收平台网站
  • 中企动力做的网站被百度屏蔽域名去哪里买
  • 网站被黑的表现公众号推送怎么制作
  • 有服务器和域名怎么做网站南昌网站建设公司资讯
  • 手机网站友情链接怎么做discuz 转 wordpress
  • app推广的网站南京物联网app开发公司
  • 域名和网站的关系网站制作北京网站建设公司哪家好