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

网站开通会员怎么开发pageadmin做的网站的域名必须要备案吗

网站开通会员怎么开发,pageadmin做的网站的域名必须要备案吗,建设银行境外购物网站,网站建设设计总结STL 算法分类: 类别常见算法作用排序sort、stable_sort、partial_sort、nth_element等排序搜索find、find_if、count、count_if、binary_search等查找元素修改copy、replace、replace_if、swap、fill等修改容器内容删除remove、remove_if、unique等删除元素归约for…

STL 算法分类:

类别常见算法作用
排序sortstable_sortpartial_sortnth_element排序
搜索findfind_ifcountcount_ifbinary_search查找元素
修改copyreplacereplace_ifswapfill修改容器内容
删除removeremove_ifunique删除元素
归约for_eachaccumulate处理数据
合并mergeset_unionset_intersection处理有序序列
排列组合next_permutationprev_permutation生成排列
堆操作push_heappop_heapmake_heapsort_heap处理堆

堆操作算法

STL 提供了一些堆操作算法,主要用于堆数据结构的管理和操作。
堆是一种完全二叉树,满足每个父节点的值大于或等于(或小于或等于)其子节点的性质,常用来实现优先队列。
STL 中的堆操作函数位于 <algorithm> 头文件中,支持最大堆和最小堆的操作。

算法名称功能描述时间复杂度空间复杂度适用场景
make_heap将一个容器转换为堆O(n)O(1)将一个无序数组转换为堆
push_heap向堆中插入元素并维持堆的性质O(log n)O(1)向堆中插入新元素时使用
pop_heap从堆中删除最大元素,并维持堆的性质O(log n)O(1)从堆中移除最大元素时使用
sort_heap对堆中的元素进行升序排序O(n log n)O(1)从堆中提取所有元素并按升序排序
is_heap检查容器是否为堆O(n)O(1)检查容器是否满足堆的性质
is_heap_until返回堆中第一个不符合堆性质的位置O(n)O(1)查找堆中第一个无效位置

(1)make_heap

  • 功能:将一个范围内的元素转换成一个堆(默认最大堆)。它的工作是将一个无序数组转换成一个合法的堆。
  • 时间复杂度O(n),其中 n 是元素的数量。
  • 空间复杂度O(1)

示例:

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm> // make_heapint main() {vector<int> vec = { 10, 20, 30, 5, 15, 40 };make_heap(vec.begin(), vec.end());// 输出堆的内容for (int val : vec){cout << val << " ";}cout << endl;system("pause");return 0;
}

注意:

  • make_heap适用于,当需要将一个容器(如 vector)转换为堆时。

(2)push_heap

  • 功能:将一个元素插入堆中,并确保堆的性质仍然被保持。它假定该元素已插入到容器的末尾,并会调整堆的结构。
  • 时间复杂度O(log n),其中 n 是堆的大小。
  • 空间复杂度O(1)

示例:

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm> // push_heapint main() {vector<int> vec = { 10, 20, 30, 5, 15 };make_heap(vec.begin(), vec.end());  // 初始堆vec.push_back(40);  // 向堆中添加元素push_heap(vec.begin(), vec.end());  // 重新调整堆// 输出堆的内容for (int val : vec){cout << val << " ";}cout << endl;system("pause");return 0;
}

注意:

  • 当新的元素加入到堆时,需要用到push_heap函数来维持堆结构。

(3)pop_heap

  • 功能:从堆中删除最大(或最小)元素,并确保堆的性质仍然被保持。它将堆的根元素(最大或最小)与容器的最后一个元素交换,然后通过堆调整操作恢复堆结构。
  • 时间复杂度O(log n),其中 n 是堆的大小。
  • 空间复杂度O(1)

示例:

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm> // pop_heapint main() {vector<int> vec = { 40, 20, 30, 5, 15 };make_heap(vec.begin(), vec.end());  // 初始堆pop_heap(vec.begin(), vec.end());  // 移除最大元素(堆顶元素)vec.pop_back();  // 删除容器末尾的元素// 输出堆的内容for (int val : vec){cout << val << " ";}cout << endl;system("pause");return 0;
}

注意:

  • pop_heap适用于,当需要从堆中移除最大(或最小)元素时。

(4)sort_heap

  • 功能:对堆中的元素进行排序(升序排序),即将堆中的元素按字典序排列。
  • 时间复杂度O(n log n),其中 n 是堆中元素的数量。
  • 空间复杂度O(1)

示例:

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm> // sort_heapint main() {vector<int> vec = { 40, 20, 30, 5, 15 };make_heap(vec.begin(), vec.end());  // 初始堆sort_heap(vec.begin(), vec.end());  // 对堆排序// 输出排序后的堆内容for (int val : vec){cout << val << " ";}cout << endl;system("pause");return 0;
}

注意:

  • sort_heap适用于,当需要从堆中提取所有元素并按升序排序时。

(5)is_heap

  • 功能:检查容器是否符合堆的性质(即容器是否为一个有效的堆)。返回值是一个布尔值。
  • 时间复杂度O(n),其中 n 是堆中元素的数量。
  • 空间复杂度O(1)

示例:

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm> // is_heapint main() {vector<int> vec = { 40, 20, 30, 5, 15 };make_heap(vec.begin(), vec.end());  // 初始堆if (is_heap(vec.begin(), vec.end())){cout << "该容器是一个有效的堆" << endl;}else{cout << "该容器不是一个有效的堆" << endl;}system("pause");return 0;
}

注意:

  • is_heap适用于,当需要检查容器是否为有效堆时。

(6)is_heap_until

  • 功能:返回堆中第一个不满足堆性质的位置。如果容器是一个有效的堆,则返回容器的末尾迭代器;否则,返回第一个不符合堆性质的元素位置。
  • 时间复杂度O(n),其中 n 是堆中元素的数量。
  • 空间复杂度O(1)

示例:

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm> // is_heap_untilint main() {vector<int> vec = { 40, 20, 30, 5, 15 };make_heap(vec.begin(), vec.end());  // 初始堆auto it = is_heap_until(vec.begin(), vec.end());if (it == vec.end()){cout << "该容器是一个有效的堆" << endl;}else{cout << "该容器不是一个有效的堆,第一个无效的元素: " << *it << endl;}system("pause");return 0;
}

注意:

  • is_heap_until适用于,当需要确定堆的有效性以及出现不符合堆性质的位置时。

文章转载自:

http://LvdAYYOS.mfmrg.cn
http://WSb8VeuS.mfmrg.cn
http://gvuWiXlz.mfmrg.cn
http://8dSdJ0Qq.mfmrg.cn
http://QJQSSGd9.mfmrg.cn
http://TTHLPF5p.mfmrg.cn
http://pFx6XMY1.mfmrg.cn
http://8lRFBayK.mfmrg.cn
http://KeXP2QeH.mfmrg.cn
http://q8YRtWoO.mfmrg.cn
http://NHXLzHes.mfmrg.cn
http://keixrx6x.mfmrg.cn
http://KSsK9ydj.mfmrg.cn
http://u1M4kRLa.mfmrg.cn
http://cYk6Jr1w.mfmrg.cn
http://IkfqfxL2.mfmrg.cn
http://fvGxSEOC.mfmrg.cn
http://8Yhitd4o.mfmrg.cn
http://hEg1RxoE.mfmrg.cn
http://eNbEP2fB.mfmrg.cn
http://GoF4m6fK.mfmrg.cn
http://y2XeAO9o.mfmrg.cn
http://IJ9QdAUh.mfmrg.cn
http://s6vWA0h1.mfmrg.cn
http://nOInzdKy.mfmrg.cn
http://R7GRSd8S.mfmrg.cn
http://UpJcHlNO.mfmrg.cn
http://cD09kpXJ.mfmrg.cn
http://OvYPEgLp.mfmrg.cn
http://KKllWlao.mfmrg.cn
http://www.dtcms.com/wzjs/677719.html

相关文章:

  • 深圳官方网站新闻网站域名属于哪里管
  • 北京网站建设公司资讯成都房地产官网
  • 安阳网站建设哪家好开发网站定制
  • 如何在工商局网站做企业年报视觉传达设计挣钱吗
  • 北京知名网站建设公司各大网络平台的推广内容和方法
  • 让人做网站需要注意哪些问题网络工程师需要什么证书
  • 怎么找到网站后台wordpress插件盗版
  • 四川建设厅网站查询公司企业黄页
  • 梧州市网站建设17网站一起做网店潮汕
  • 做充值网站网站开发与服务器交互
  • 中国保险行业协会网站网站开发学的啥
  • 浙江城乡与住房建设部网站平面设计图片 作品集
  • 国内设计师网站网站建设汇报书 ppt
  • 如何建网站遂宁科技魏
  • 画室网站模板加油站网站建设
  • 空调维修自己做网站软件外包专业
  • 网站推广渠道特点广东网站建设的
  • 重庆巫山网站设计哪家专业网站开发的可行性研究报告
  • 查看网站cms苏州公司建设网站
  • 泉州网站建设兼职厦门海绵城市建设官方网站
  • 泉州网站制作建设北京58网站建设
  • 那个网站做网编好官方网站建设项目询价
  • 乌海网站建设公司徐州建设工程交易网张周
  • 京东电子商务网站建设网页设计站
  • 人与马做的网站在线海报设计
  • 哪有免费的网站广州海珠做网站的公司
  • 南宁建设厅网站分销小程序开发研发公司
  • 中国域名网站三明网站设计
  • 自己免费怎么制作网站吗自己做的网站和ie不兼容
  • 公司经营范围网站开发及运营西安网站制作公司怎么选