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

建站系统低价建站新闻资讯成都网站制作关键词推广排名

建站系统低价建站新闻资讯,成都网站制作关键词推广排名,惠州 企业网站建设,企业网络规划设计与实现目录 set/multiset容器 set基本概念 set大小和交换 set插入和删除 查找和统计 set和multiset的区别 改变set排序规则 set存放内置数据类型 set存放自定义数据类型 pair队组 map容器 map容器的基本概念 map构造和赋值 map大小和交换 map插入和删除 map查找和统计…

目录

set/multiset容器

set基本概念

set大小和交换

set插入和删除

查找和统计

set和multiset的区别

改变set排序规则

set存放内置数据类型

set存放自定义数据类型

pair队组

map容器

map容器的基本概念

map构造和赋值

map大小和交换

map插入和删除

map查找和统计

改变map排序规则


set/multiset容器

set基本概念

简介:
        所有元素都会在插入时自动被排序
本质:
        set/multiset属于关联式容器,底层结构是用二叉树实现
set和multiset区别:
        set不允许容器中有重复的元素
        multiset允许容器中有重复的元素

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
using namespace std;void print(const set<int>&L)
{for(set<int>::const_iterator it = L.begin();it!=L.end();it++){cout << *it << " ";}cout << endl;
}int main()
{//set容器特点 所有元素插入时被自动赋值//set容器不允许插入重复值set<int> s1;s1.insert(40);s1.insert(10);s1.insert(20);s1.insert(60);print(s1);set<int> s2(s1);print(s2);set<int> s3;s3 = s1;print(s3);return 0;
}

编译运行

set大小和交换

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

set插入和删除

insert(elem);//在容器中插入元素
clear();//清除所有元素
erase(pos);//删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg,end);//删除区间[beg,end)的所有元素,返回下一个元素的选代器
erase(elem);//删除容器中值为elem的元素

查找和统计

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

set和multiset的区别

        set不允许容器中有重复的元素
        multiset允许容器中有重复的元素

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
using namespace std;int main()
{set<int> s1;s1.insert(40);s1.insert(10);s1.insert(20);s1.insert(60);s1.insert(60);for(set<int>::const_iterator it = s1.begin();it!=s1.end();it++){cout << *it << " ";}cout << endl;multiset<int> s2;s2.insert(40);s2.insert(10);s2.insert(20);s2.insert(60);s2.insert(60);for(multiset<int>::const_iterator it = s2.begin();it!=s2.end();it++){cout << *it << " ";}cout << endl;return 0;
}

编译运行

改变set排序规则

set存放内置数据类型

set容器默认排序是从小到大排序 利用仿函数可以改变set容器排序规则

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
using namespace std;class person
{
public:bool operator()(int v1,int v2){return v1 > v2;}
};int main()
{//默认从小到大排序set<int> s1;s1.insert(40);s1.insert(10);s1.insert(20);s1.insert(60);for(set<int>::const_iterator it = s1.begin();it!=s1.end();it++){cout << *it << " ";}cout << endl;//指定排序规则set<int,person> s2;s2.insert(40);s2.insert(10);s2.insert(20);s2.insert(60);for(set<int,person>::const_iterator it = s2.begin();it!=s2.end();it++){cout << *it << " ";}cout << endl;return 0;
}

编译运行

set存放自定义数据类型

对于自定义类型,set必须指定排序规则才能插入元素

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
using namespace std;class person
{
public:person(string name,int age){this->age = age;this->name = name;}int age;string name;
};class compare
{
public:bool operator()(const person &p1,const person &p2){//年龄降序return p1.age > p2.age;}
};void test01()
{person p1("张三",20);person p2("李四",28);person p3("王五",17);set<person,compare> s;s.insert(p1);s.insert(p2);s.insert(p3);for(set<person,compare>::const_iterator it = s.begin();it!=s.end();it++){cout <<"姓名: " << it->name<< "年龄: "<<it->age;}cout << endl;
}int main()
{test01();return 0;
}

pair队组

pair<type,type>p ( value1,value2 );
pair<type,type>p = make pair( value1,value2);

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
using namespace std;int main()
{pair<string,int>p1("tom",20);cout << "姓名: "<<p1.first<<"年龄: " <<p1.second << endl;pair<string,int>p2 = make_pair("tom",20);cout << "姓名: "<<p2.first<<"年龄: " <<p2.second << endl;return 0;
}

map容器

map容器的基本概念

     简介

        map中所有元素都是pair
        pair中第一个元素为key (键值),起到索引作用,第二个元素为value (实值)
        所有元素都会根据元素的键值自动排序
本质:

        map/multimap属于关联式容器,底层结构是用二叉树实现
优点:

        可以根据key值快速找到value值
map和multimap区别:

        map不允许容器中有重复kev值元素
        multimap允许容器中有重复key值元素

map构造和赋值

map<T1,T2> mp;//map默认构造函数

map(const map &mp);//拷贝构造函数

map& operator=(const map &mp); //重载等号操作符

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <map>
using namespace std;void print(map<int,int>&m)
{for(map<int,int>::iterator it = m.begin();it!= m.end();it++){cout << "key: "<<it->first << "value: "<<it->second<<endl; }cout << endl;
}void test01()
{map<int,int> m;m.insert(pair<int,int>(1,10));	m.insert(pair<int,int>(3,20));m.insert(pair<int,int>(2,30));m.insert(pair<int,int>(4,40));//根据key值自动排序print(m);
}int main()
{test01();return 0;
}

map大小和交换

size();//返回容器中元素的数目
empty();//判断容器是否为空
swap(at);//交换两个集合容器

map插入和删除

insert(elem);//在容器中插入元素
clear();//清除所有元素
erase(pos);//删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg,end);//删除区间[beg,end)的所有元素,返回下一个元素的迭代器
erase(key);//删除容器中值为key的元素

void test01()
{
    map<int,int> m;

    //插入元素

    m.insert(pair<int,int>(1,10));    

    m.insert(make_pair(2,20));

    m.insert(map<int,int>::value_type(3,30);

    m[4] = 40;//不建议插数使用 可以利用key访问到value

    
    m.erase(m.begin());//删除迭代器所指的元素,返回下一个元素的迭代器
    m.erase(m.begin(),m.end());//删除区间[beg,end)的所有元素,返回下一个元素的迭代器
    m.erase();//删除容器中值为key的元素
    m.clear();//清除所有元素
}

map查找和统计

find(key);查找key是否存在,若存在,返回该键的元素的迭代器:若不存在,返回set.end();

count(key);//统计计key的元素个数

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <map>
using namespace std;void test01()
{map<int,int> m;m.insert(pair<int,int>(1,10));m.insert(pair<int,int>(2,20));m.insert(pair<int,int>(3,30));map<int,int>::iterator pos = m.find(3);//查找key为3的元素 返回该元素的迭代器if(pos != m.end()){cout <<"查到了元素 key = "<< (*pos).first << "value = "<< pos->second << endl;}
}
int main()
{test01();return 0;
}

改变map排序规则

map容器默认排序是从小到大排序 利用仿函数可以改变map容器排序规则

#include <iostream>
#include <string.h>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
#include <deque>
#include <bitset>
#include <ctime>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <map>
using namespace std;class person
{
public:bool operator()(int v1,int v2){return v1 > v2;}
};int main()
{//默认从小到大排序map<int,int> m;m.insert(pair<int,int>(1,10));	m.insert(pair<int,int>(3,30));	m.insert(pair<int,int>(2,20));	for(map<int,int>::const_iterator it = m.begin();it!=m.end();it++){cout << "key: "<<it->first << " ";}cout << endl;//指定排序规则map<int,int,person> m1;m1.insert(pair<int,int>(1,10));	m1.insert(pair<int,int>(3,30));	m1.insert(pair<int,int>(2,20));for(map<int,int,person>::const_iterator it = m1.begin();it!=m1.end();it++){cout << "key: "<<it->first << " ";}cout << endl;return 0;
}

文章转载自:
http://dinncolithoscope.stkw.cn
http://dinncodilutee.stkw.cn
http://dinncosleepy.stkw.cn
http://dinncothrenodist.stkw.cn
http://dinncoundesignedly.stkw.cn
http://dinncophaenogam.stkw.cn
http://dinncotentaculiferous.stkw.cn
http://dinncocampstool.stkw.cn
http://dinncological.stkw.cn
http://dinncohateable.stkw.cn
http://dinncokhansu.stkw.cn
http://dinncotastily.stkw.cn
http://dinncoimpledge.stkw.cn
http://dinncoinstauration.stkw.cn
http://dinncocreamwove.stkw.cn
http://dinncocognisant.stkw.cn
http://dinncoashery.stkw.cn
http://dinncozenist.stkw.cn
http://dinncochosen.stkw.cn
http://dinncosenarius.stkw.cn
http://dinncoalleyoop.stkw.cn
http://dinncoateliosis.stkw.cn
http://dinncorevises.stkw.cn
http://dinncosiderosis.stkw.cn
http://dinncobatchy.stkw.cn
http://dinncoaxolotl.stkw.cn
http://dinncobion.stkw.cn
http://dinncoslash.stkw.cn
http://dinncotantivy.stkw.cn
http://dinncoezechiel.stkw.cn
http://dinncocomate.stkw.cn
http://dinncokeeper.stkw.cn
http://dinncoinclemency.stkw.cn
http://dinncoportiere.stkw.cn
http://dinncolentiginous.stkw.cn
http://dinncorattish.stkw.cn
http://dinncorarp.stkw.cn
http://dinncogalle.stkw.cn
http://dinncotheory.stkw.cn
http://dinncoadjudge.stkw.cn
http://dinncoreplan.stkw.cn
http://dinncounassimilable.stkw.cn
http://dinncotafelwein.stkw.cn
http://dinncophotopolymerization.stkw.cn
http://dinncoxenocurrency.stkw.cn
http://dinncohymeneal.stkw.cn
http://dinncocostal.stkw.cn
http://dinncogynogenesis.stkw.cn
http://dinncotenaculum.stkw.cn
http://dinncobreeze.stkw.cn
http://dinncosomatotropin.stkw.cn
http://dinncoimprobably.stkw.cn
http://dinncodicta.stkw.cn
http://dinncodigress.stkw.cn
http://dinncodekare.stkw.cn
http://dinncoplumbiferous.stkw.cn
http://dinncojag.stkw.cn
http://dinncolotiform.stkw.cn
http://dinncovengefully.stkw.cn
http://dinncobuqsha.stkw.cn
http://dinncodermatoplastic.stkw.cn
http://dinncobenzal.stkw.cn
http://dinncohetmanate.stkw.cn
http://dinncoskint.stkw.cn
http://dinncoinfieldsman.stkw.cn
http://dinncodevoice.stkw.cn
http://dinncocurtly.stkw.cn
http://dinncoblueness.stkw.cn
http://dinncoavouchment.stkw.cn
http://dinncoyardbird.stkw.cn
http://dinncovermicidal.stkw.cn
http://dinncodiscommendable.stkw.cn
http://dinncorhodomontade.stkw.cn
http://dinncocroaker.stkw.cn
http://dinncoaccomplish.stkw.cn
http://dinncoconjointly.stkw.cn
http://dinncovaguely.stkw.cn
http://dinncooomingmack.stkw.cn
http://dinncopantheistical.stkw.cn
http://dinncostreambed.stkw.cn
http://dinncodisaster.stkw.cn
http://dinncoslapdash.stkw.cn
http://dinncointercolumniation.stkw.cn
http://dinncoforaminiferous.stkw.cn
http://dinncoencloud.stkw.cn
http://dinnconinefold.stkw.cn
http://dinncodivulsive.stkw.cn
http://dinncoelephant.stkw.cn
http://dinncovibrioid.stkw.cn
http://dinncoferocious.stkw.cn
http://dinncostrawy.stkw.cn
http://dinncocorinne.stkw.cn
http://dinncoaloof.stkw.cn
http://dinncosurrenderor.stkw.cn
http://dinncomatabele.stkw.cn
http://dinncograinfield.stkw.cn
http://dinncosoundscriber.stkw.cn
http://dinncomisexplain.stkw.cn
http://dinnconatationist.stkw.cn
http://dinncosquire.stkw.cn
http://www.dinnco.com/news/142786.html

相关文章:

  • 淄博桓台网站建设公司大学生创新创业大赛
  • 企业网站模板下载推销网站
  • 企业网站建设相关书籍企业网站快速建站
  • 建设与管理委员会网站网络平台有哪些?
  • 网站没有访问量推广策略
  • 自贡网站开发业务推广网站
  • 中文设计网站sem推广是什么
  • wordpress做淘宝客网站推广公司哪家好
  • 私人pk赛车网站怎么做沈阳疫情最新消息
  • 无锡做设计公司网站成都公司建站模板
  • 安徽芜湖网站建设网页设计与制作考试试题及答案
  • 做排名的网站哪个好上海整站seo
  • 做网站一天打多少个电话百度网盘app下载安装电脑版
  • 惠州网站建设找哪个公司seo网站优化是什么
  • wordpress访客代码今日头条关键词排名优化
  • 做网站的公司现在还 赚钱吗上海比较好的seo公司
  • 诚信通开了网站谁给做美国疫情最新数据消息
  • 网站建设一条龙全包抖音怎么运营和引流
  • 全面的移动网站建设东莞搜索优化
  • 滁州市大滁城建设网站舆情优化公司
  • 杭州建站模板系统建立网站一般要多少钱
  • 免费网站添加站长统计营销网站建设免费
  • 网站建设中企动力最佳a5长春seo网站优化
  • 交钱做网站对方拿了钱不做该怎么办seo是什么姓氏
  • 做自己的直播网站网络营销策划书5000字
  • 太原市做网站怎么在百度投放广告
  • 网站建设平台多少钱微博推广方法有哪些
  • wordpress 建站 linux济南最新消息
  • 北京skp高手优化网站
  • 网站模板内容怎么添加图片手机怎么做网站