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

山西太原网站制作谷歌搜索优化seo

山西太原网站制作,谷歌搜索优化seo,英迈思做网站怎么样,做网站涉及个人隐私set/multiset容器 Set基本概念set构造和赋值set的大小和交换set的插入和删除set查找和统计 set和multiset的区别pair对组两种创建方式 set容器排序 Set基本概念 所有元素都会在插入时自动被排序。 set/multist容器属于关联式容器,底层结构属于二叉树。 set不允许容…

set/multiset容器

  • Set基本概念
    • set构造和赋值
    • set的大小和交换
    • set的插入和删除
    • set查找和统计
  • set和multiset的区别
    • pair对组
      • 两种创建方式
  • set容器排序

Set基本概念

所有元素都会在插入时自动被排序。
set/multist容器属于关联式容器,底层结构属于二叉树。
set不允许容器中有重复的元素,multiset允许容器中有重复的元素。

set构造和赋值

1、set<T> st;默认构造函数
2、set(const set &st);拷贝构造函数
3、set& operator=(const set &st);赋值

void test1() {set<int> st;st.insert(10);st.insert(40);st.insert(30);st.insert(1);st.insert(30);p(st);set<int> s2(st);p(s2);set<int> s3;s3= s2;p(s3);
}

在这里插入图片描述

set的大小和交换

1、empty();判断容器是否为空
2、size();返回容器中元素的个数
3、swap(st);交换两个集合容器

void test1() {...if (!st.empty()) {cout << "大小" << st.size()<<endl;}set<int> s2;s2.insert(32);s2.insert(23);s2.insert(43);st.swap(s2);p(st);
}

set的插入和删除

1、insert(elem);插入,只有这一种方法
2、clear();清空所有元素
3、erase(pos);删除pos位置的元素,返回下一个数据的位置
4、erase(beg,end);删除迭代器从beg到end之间的元素,返回下一个数据的位置
5、erase(elem);删除容器中值为elem的元素

void test1() {
...st.erase(st.begin());st.erase(++st.begin(), --st.end());p(st);st.erase(10);p(st);st.clear();p(st);
}

在这里插入图片描述

set查找和统计

1、find(key);查找key是否存在,若存在,返回该键的元素的迭代器,若不存在,返回set.end()
2、count(key);统计key的元素个数

void test1() {...set<int>::iterator pos=st.find(40);if (pos != st.end()) {cout << "找到:" <<*pos<< endl;}else {cout << "没找到" << endl;}cout << st.count(30) << endl;//统计的结果式0或1
}

在这里插入图片描述

set和multiset的区别

1、set不可以插入重复数据,multiset可以
2、set插入数据的同时会返回插入结果,表示插入成功
3、multiset不会监测数据,因此可以插入重复数据

void test1() {set<int> st;pair<set<int>::iterator, bool> ret = st.insert(30);if (ret.second) {cout << "第一次插入成功" << endl;}else {cout << "第一次插入失败" << endl;}ret=st.insert(30);if (ret.second) {cout << "第二次插入成功" << endl;}else {cout << "第二次插入失败" << endl;}
}

在这里插入图片描述

	m.insert(10);//直接插入不会检测m.insert(10);for (multiset<int>::const_iterator it = m.begin();it != m.end();it++) {cout << (*it) << "   ";}cout << endl;

在这里插入图片描述
返回是一个对组
在这里插入图片描述
在这里插入图片描述

multiset插入返回的是一个迭代器
在这里插入图片描述

pair对组

两种创建方式

1、pair<type,type> p(value1,value2);
2、pair<type,type> p=make_pair(value1,value2);

void test() {pair<string, int>p("Tom", 20);cout << "姓名:" << p.first << "年龄:" << p.second << endl;pair<string, int>p1=make_pair("Ala", 23);cout << "姓名:" << p1.first << "年龄:" << p1.second << endl;
}

set容器排序

在使用仿函数排序时,需要加const不可修改,不然会报错,set的排序规则下定义是需要设置好,默认是升序。

class S {
public:int age;string name;int h;S(string _n, int _a,int _h) {name = _n;age = _a;h = _h;}
};
class compareS {
public:bool operator()(S v1, S v2) const{return v1.age > v2.age;}
};
class MyCompare {
public:bool operator()( int v1, int v2)const {return v1 > v2;}
};
//内置类型排序
void test1() {//指定排序规则为大到小set<int,MyCompare> s2;s2.insert(10);s2.insert(40);s2.insert(30);s2.insert(1);s2.insert(30);for (set<int,MyCompare>::iterator it = s2.begin();it != s2.end();it++) {cout << (*it) << "   ";}
}
//自定义类型排序
void test() {set<S, compareS> s;S s1("Tom", 18, 187);S s2("Lisa", 20, 165);S s3("LuJy", 34, 190);S s4("Tony", 21, 167);S s5("Ala", 20, 168);s.insert(s1);s.insert(s2);s.insert(s3);s.insert(s4);s.insert(s5);for (set<S, compareS>::iterator it = s.begin();it != s.end();it++) {cout << "姓名:" << (*it).name << "\t年龄:" << (*it).age << "\t身高:" << (*it).h << endl;}
}
http://www.hotlads.com/news/2153.html

相关文章:

  • 佛山南海区疫情360优化大师下载官网
  • 网站建设申请书长沙网站托管优化
  • vs2010做网站登陆界面百度推广服务
  • 深圳好点的网站建设公司南昌seo排名
  • 网站开发开发需求文档模板注册域名在哪里注册
  • 上海礼品定制网站线上职业技能培训平台
  • 一站式网站建设用途关键词指数查询
  • 装修网站怎么做的十大职业资格培训机构
  • 做棋牌网站赚钱吗夫唯seo教程
  • 昆山建设信息网站营销软文范例
  • 那个网站平台可以做兼职百度平台客服怎么联系
  • 做网站需要的条件企业网站制作公司
  • 互联网网站设计网络销售模式有哪些
  • seo优化网站建设哪家好搜索引擎简称seo
  • 怎样查看wordpress用的什么主题网络优化的三个方法
  • 做网站知识点营销方式有哪几种
  • 鹤壁做网站哪家好如何让百度搜索到自己的网站
  • 呼伦贝尔网站设计网站一般需要怎么推广
  • wordpress仿站步奏淘宝店铺推广方法
  • 外国炫酷网站重庆广告公司
  • 网上购物平台哪家质量最好快速优化网站排名的方法
  • 贵阳百度公司建网站电话优秀营销软文范例500字
  • php动态网站开发基本流程图百度提交入口
  • 美女做暖暖免费视频网站seo查询软件
  • 网络营销研究背景及意义郑州网络优化实力乐云seo
  • 小程序商城开源廊坊百度关键词优化
  • 建站哪个便宜无锡seo优化
  • 如何k掉别人的网站seo排名快速优化
  • 东莞望牛墩网站建设百度快照在哪里
  • 网站域名被黑重庆seo全面优化