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

上海最专业的网站设计制网站建设是前端后端吗

上海最专业的网站设计制,网站建设是前端后端吗,做网站建设的前景,太原网站建设丿薇一、什么是优先队列 优先队列是一个容器适配器#xff0c;存储于优先队列中的元素按照某种优先级自动排序。优先队列类似于堆#xff0c;元素可以随时插入#xff0c;但是只能弹出优先级最高的元素。默认是一个大根堆#xff0c;也就是元素越大#xff0c;优先级越高。 二…一、什么是优先队列 优先队列是一个容器适配器存储于优先队列中的元素按照某种优先级自动排序。优先队列类似于堆元素可以随时插入但是只能弹出优先级最高的元素。默认是一个大根堆也就是元素越大优先级越高。 二、优先队列的定义及初始化 2.1优先队列的定义 #include iostream #include vector #include queue #include listusing namespace std;int main() {priority_queueint pq1;//创建一个默认的优先队列//默认是priority_queueint,vectorint,lessint() pq1;priority_queueint, vectorint, greaterint() pq2;//改为小根堆return 0; } 2.2优先队列的初始化 优先队列没法像其他容器一样直接使用初始化列表进行初始化但它可以使用其它容器的迭代器进行初始化或者使用push函数与emplace函数依次输入函数。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };priority_queueint pq1(v.begin(), v.end());while (!pq1.empty()){cout pq1.top() ;pq1.pop();}return 0; } 三、list成员函数 3.1empty函数 bool empty() const; priority_queue提供了一个成员函数empty用于检查队列是否为空即检查其大小是否为零。这个函数实际上是调用了底层容器对象的empty成员函数。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };listint l { 1,3,4,5,6,7 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2;cout pq1.empty() endl;cout pq2.empty() endl;return 0; } 3.2size函数 size_type size() const; priority_queue提供了一个成员函数size用于返回优先队列中元素的数量。这个函数实际上是调用了底层容器对象的size成员函数。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };listint l { 1,3,4,5,6,7 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2;cout pq1.size() endl;cout pq2.size() endl;return 0; } 3.3top函数 const_reference top() const; priority_queue提供了一个成员函数top用于返回队头即优先级最高的元素。这个函数实际上是调用了底层容器对象的front成员函数。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };listint l { 1,3,4,5,6,7 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2;cout pq1.top() endl;pq1.pop();cout pq1.top() endl;return 0; } 3.4push函数 void push (const value_type val); void push (value_type val); priority_queue提供了一个成员函数push用于向队列中插入一个新的元素。这个新元素的内容会被初始化为val指定的值。push函数首先调用底层容器对象的push_back成员函数来添加元素然后通过调用heap中的算法调整容器中所有元素的范围以确保新元素被放置在堆结构中正确的位置。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };listint l { 1,3,4,5,6,7 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2;pq1.push(10);cout pq1.top() endl;pq1.pop();cout pq1.top() endl;return 0; } 3.5emplace函数 template class... Args void emplace (Args... args); priority_queue提供了一个成员函数emplace它允许你在队列中就地构造一个新元素这意味着你可以直接传递给新元素构造函数的参数而不需要先创建一个临时对象再复制或移动到队列中。emplace函数首先调用底层容器的emplace_back成员函数来就地构造元素然后通过调用push_heap算法调整容器中所有元素的范围以确保新元素被放置在堆结构中正确的位置。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };listint l { 1,3,4,5,6,7 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2;pq1.emplace(10);cout pq1.top() endl;pq1.pop();cout pq1.top() endl;return 0; } 3.6pop函数 void pop(); priority_queue提供了一个成员函数pop用于移除队列顶部的元素也就是优先级最高的元素。这个操作会减少队列的大小一个单位。在调用pop之前可以使用top成员函数来检索即将被移除的元素的值。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5,6,7 };listint l { 1,3,4,5,6,7 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2;cout pq1.top() endl;pq1.pop();cout pq1.top() endl;return 0; } 3.7成员swap函数 void swap (priority_queue x) noexcept (/*see below*/); priority_queue提供了一个成员函数swap它用于交换两个priority_queue容器的元素。这个操作不仅交换了底层容器的内容还包括它们的比较函数。这个成员函数通过调用底层容器和比较函数的swap非成员函数来实现交换。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5 };listint l { 5,6,7,8,9 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2(v.begin(), v.end());priority_queueint pq3(pq1);priority_queueint pq4(pq2);while (!pq1.empty()){cout pq1.top() ;pq1.pop();}cout endl;while (!pq2.empty()){cout pq2.top() ;pq2.pop();}cout endl;pq3.swap(pq4);while (!pq3.empty()){cout pq3.top() ;pq3.pop();}cout endl;while (!pq4.empty()){cout pq4.top() ;pq4.pop();}return 0; } 四、非成员函数 4.1模板函数swap template class T, class Container, class Compare void swap (priority_queueT,Container,Compare x, priority_queueT,Container,Compare y) noexcept(noexcept(x.swap(y)));交换两个优先队列中元素时可以不适用成员swap函数转而使用算法标准库中的模板swap函数。 #include iostream #include vector #include queue #include listusing namespace std;int main() {vectorint v { 1,2,3,4,5 };listint l { 5,6,7,8,9 };priority_queueint pq1(l.begin(), l.end());priority_queueint pq2(v.begin(), v.end());priority_queueint pq3(pq1);priority_queueint pq4(pq2);while (!pq1.empty()){cout pq1.top() ;pq1.pop();}cout endl;while (!pq2.empty()){cout pq2.top() ;pq2.pop();}cout endl;swap(pq3,pq4);while (!pq3.empty()){cout pq3.top() ;pq3.pop();}cout endl;while (!pq4.empty()){cout pq4.top() ;pq4.pop();}return 0; }
http://www.hkea.cn/news/14528096/

相关文章:

  • 临湘网站建设wordpress自动采集更新
  • 网站制作需要的软件织梦可以做导航网站
  • 哪些网站是响应式怎么给网站做关键词搜索
  • seo网站建设公司点击一个网站跳转到图片怎么做的
  • 做算命网站犯法吗wordpress推广浏览插件
  • 做外贸网站多少钱少儿编程加盟品牌哪家好
  • 网站注册搜索引擎的目的国内卡一卡二卡三网站视频
  • 做饲料机的川工网站公司装修费用如何入账
  • 自己做的网站怎么赚钱吗怎么查看网站根目录
  • 婚庆素材网站免费做视频网站用什么系统
  • jsp网站开发的参考文献做网站有什么用
  • 单页面网站好优化吗系统流小说
  • 教育网站建设需求文档dede网站备份
  • 网站做百度推广有没有效果aso应用商店优化原因
  • wordpress网站搬家vps短视频营销经典案例
  • 网络推广 SEO优化 网站建设浙江壹设软装设计有限公司
  • 网站关键词指数查询安徽津城建设工程有限公司网站
  • 机箱做的网站主机怎么查看ftpwordpress弹窗登录注册插件
  • 学做网站论坛可信吗不用iis建立网站
  • 2022年最新热点素材搜索引擎网站优化推广
  • wap浏览器设置临沂seo推广外包
  • 网站的运营与维护装饰公司做网站怎么收费
  • 一元购网站建设多少钱网站建设 营销
  • 长治网站建设电话加快网站速度
  • 搭建网站需要哪些步骤晋江论坛手机版
  • 电子商务网站推广方案有域名有服务器怎么建站
  • 常德经开区网站重庆网站托管外包公司哪家好
  • 网站开发和推广方案云南微网站建设
  • 2015年友情链接网站源代码下载青岛专业网站制作
  • 网站维护服务器采购网站官网