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

app 网站建设抖音关键词用户搜索排名靠前

app 网站建设,抖音关键词用户搜索排名靠前,海曙网站制作,做高仿网站有哪些常用算法1 常用算法常用遍历算法for_eachtransform 常用查找算法findfind_ifadjacent_findbinary_searchcountcount_if 常用算法 算法主要是由头文件<algorithm><functional><numeric>组成。 <algorithm>是所有STL头文件中最大的一个&#xff0c;范围…

常用算法1

  • 常用算法
    • 常用遍历算法
      • for_each
      • transform
    • 常用查找算法
      • find
      • find_if
      • adjacent_find
      • binary_search
      • count
      • count_if

常用算法

算法主要是由头文件<algorithm><functional><numeric>组成。
<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历操作、复制、修改等等。
<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数。
<functional>定义了一些模板类用以声明函数对象。

常用遍历算法

1、for_each遍历容器
2、transform搬运容器到另一个容器中

for_each

for_each(iterator beg,interator end,_func);遍历算法,遍历容器元素,beg开始迭代器,end结束迭代器,_func函数或者函数对象

//普通函数
void p1(int val) {cout << val << "  ";
}
//仿函数
class p2 {
public:void operator()(int val) {cout << val << "  ";}
};
void test() {...//普通函数for_each(v.begin(), v.end(),p1);cout << endl;cout << "-----------------------------------------" << endl;//仿函数for_each(v.begin(), v.end(), p2());
}

在这里插入图片描述

transform

transform(iterator beg1,interator end1,interator beg2,_func);beg1源容器开始迭代器,end源容器结束迭代器,beg2目标容器开始迭代器,_func函数或者函数对象

//输出仿函数
class p1 {
public:void operator()(int val) {cout << val << "  ";}
};//加100仿函数
class p2 {
public:int operator()(int val) {return val+100;}
};
void test() {vector<int> v;v.push_back(12);v.push_back(32);v.push_back(57);v.push_back(22);v.push_back(65);vector<int>v1;v1.resize(v.size());//目标容器必须提前开辟空间transform(v.begin(), v.end(), v1.begin(),p2());for_each(v1.begin(), v1.end(), p1());
}

在这里插入图片描述

常用查找算法

1、find查找元素
2、find_if按条件查找元素
3、adjacent_find查找相邻重复元素
4、binary_search二分查找法
5、count统计元素个数
6、count_if按条件统计元素个数

find

查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()
find(iterator beg,interator end,value);按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置,beg开始迭代器,end结束迭代器,value查找的元素

void test() {//内置数据类型vector<int> v;v.push_back(12);v.push_back(32);v.push_back(57);v.push_back(22);v.push_back(65);vector<int>::iterator ret = find(v.begin(), v.end(), 32);if (ret != v.end()) {cout << "找到" << endl;}else {cout << "没有找到" << endl;}//自定义类型vector<S> v1;S s1("Tom", 13);S s2("Ala", 32);S s3("Tony", 15);S s4("Mary", 18);S s5("Mola", 23);v1.push_back(s1);v1.push_back(s2);v1.push_back(s3);v1.push_back(s4);vector<S>::iterator ret1 = find(v1.begin(), v1.end(), s5);if (ret1 != v1.end()) {cout << "找到" << endl;}else {cout << "没有找到" << endl;}
}

find_if

find_if(iterator beg,interator end,_Pred);按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置,beg开始迭代器,end结束迭代器,_Pred函数或者谓词(返回bool类型的仿函数)

void test() {//内置数据类型...vector<int>::iterator ret = find_if(v.begin(), v.end(), p1());if (ret != v.end()) {cout << "找到" << endl;}else {cout << "没有找到" << endl;}...vector<S>::iterator ret1 = find_if(v1.begin(), v1.end(), p2());if (ret1 != v1.end()) {cout << "找到" << endl;}else {cout << "没有找到" << endl;}
}

adjacent_find

查找相邻重复元素
adjacent_find(iterator beg,interator end);查找相邻重复元素,返回相邻元素的第一个位置的迭代器,beg开始迭代器,end结束迭代器

void test() {//内置数据类型vector<int> v;v.push_back(12);v.push_back(32);v.push_back(12);v.push_back(22);v.push_back(65);vector<int>::iterator ret = adjacent_find(v.begin(), v.end());if (ret != v.end()) {cout << "找到相邻的元素:"<<*ret << endl;}else {cout << "没有找到相邻的元素" << endl;}

binary_search

二分查找法,查找指定的元素,查到返回true,否则false
binary_search(iterator beg,interator end,value);无序序列中不可用,beg开始迭代器,end结束迭代器,value查找的元素

count

统计元素个数
count(iterator beg,interator end,value);统计元素出现次数,beg开始迭代器,end结束迭代器,value统计的元素

void test() {//内置数据类型vector<int> v;...v.push_back(50);...v.push_back(50);v.push_back(50);int ret = count(v.begin(), v.end(),1);cout <<"1的个数:" << ret << endl;vector<S> v1;...S s4("Mary", 18);S s5("Mola", 18);...int ret1 = count(v1.begin(), v1.end(), s5);cout << "年龄为18的个数:" << ret1 << endl;

count_if

按条件统计元素个数
count_if(iterator beg,interator end,_Pred);按条件统计元素出现次数,beg开始迭代器,end结束迭代器,_Pred谓词

	//内置数据类型vector<int> v;v.push_back(10);v.push_back(20);v.push_back(50);v.push_back(30);v.push_back(40);v.push_back(50);v.push_back(50);int ret = count_if(v.begin(), v.end(),p1());cout <<"大于等于40的个数:" << ret << endl;vector<S> v1;S s1("Tom", 13);S s2("Ala", 32);S s3("Tony", 15);S s4("Mary", 18);S s5("Mola", 18);v1.push_back(s1);v1.push_back(s2);v1.push_back(s3);v1.push_back(s4);v1.push_back(s5);int ret1 = count_if(v1.begin(), v1.end(), p2());cout << "年龄大于等于18的个数:" << ret1 << endl;

在这里插入图片描述

http://www.hkea.cn/news/163591/

相关文章:

  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策
  • 一站式做网站哪家强新闻小学生摘抄