C++ STL ③

sort排序

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
 	int a[5],i;
 	cout<<"请输入数组元素:"<<endl;
 	for(i=0;i<5;i++){
 		cin>>a[i];
	 }
	 sort(a,a+5,greater<int>());
	 for(i=0;i<5;i++){
	 	cout<<a[i]<<" ";
	 }
	 cout<<endl;
	return 0;
}

vector容器

#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;

int main() {
 	vector<int> a;//定义vector容器 
 	//从容器尾部插入元素  
	a.push_back(98);
	a.push_back(34);
	a.push_back(56);
	a.push_back(78);
	a.push_back(23);
	for(int i=0;i<a.size();i++){//调用vector的函数size() 计算a有几个元素 
		cout<<a[i]<<" ";		
	} 
	cout<<endl;
	a.insert(a.begin()+3-1,58);//插入值58到第3个位置 
	a.pop_back();//删除最后一个元素 
	for(int i=0;i<a.size();i++){//调用vector的函数size() 计算a有几个元素 
		cout<<a[i]<<" ";		
	} 
	cout<<endl;
	reverse(a.begin(),a.end());
	for(int i=0;i<a.size();i++){//调用vector的函数size() 计算a有几个元素 
		cout<<a[i]<<" ";		
	} 
	cout<<endl; 
	return 0;
}

运行结果为:在这里插入图片描述
list容器

#include <iostream>
#include<list>
#include <algorithm>
using namespace std;
//自定义模板函数  
template<typename T>
void print(list<T> mylist){
	typename list<T>::iterator it;//创建list的iterator迭代器 
	for(it=mylist.begin();it!=mylist.end();it++){
		cout<<*it<<" ";
	} 
	cout<<endl;
}
int main() {
 	list<int> lt;//创建空的list容器it 
	//list是双向的 
	lt.push_front(34);
 	lt.push_front(56);
	lt.push_front(78);
	lt.push_back(23);
	lt.push_back(98);
	lt.push_back(99); 
	print(lt);//调用自定义的模板函数  
	lt.sort(greater<int>());//将list容器里的数据进行降序排列 
	cout<<"max="<<*lt.begin()<<endl;//list第一个元素就是最大值  
	lt.sort();//再将list容器里的数据进行升序排列 
	lt.remove(98);//删除元素98 
	print(lt);
	return 0;
}

运行结果:
在这里插入图片描述
set容器

#include <iostream>
#include<set>
#include<functional>
using namespace std;

int main() {
	set<int> s;//创建一个空的set容器,默认为升序排列  
	//向元素中插入元素  
	s.insert(23);
	s.insert(56);
	s.insert(18);
	s.insert(23);
	s.insert(79);
	s.insert(56);
	set<int>::iterator its;//创建容器s的迭代器,用于获取元素 
	for(its=s.begin();its!=s.end();its++){
		cout<<*its<<" ";
	} 
	cout<<endl;
	//调用find函数 
	cout<<"是否存在56:"<<(s.find(56)!=s.end()?1:0)<<endl;
	cout<<"是否存在99:"<<(s.find(99)!=s.end()?1:0)<<endl; 
	//调用erase函数 删除元素  
	s.erase(s.begin());
	//调用insert函数  插入元素 
	s.insert(88);
	for(its=s.begin();its!=s.end();its++){
		cout<<*its<<" ";
	} 
	cout<<endl;
	return 0;
}

运行结果:
在这里插入图片描述
map容器

#include <iostream>
#include<map>
#include<functional>
#include<string>
using namespace std;
void printm(map<int,char> mymap){
	pair<int,char> p;//创建pair对象p,其实就是键值对 
	map<int,char>::iterator it;//定义map的iterator迭代器it 
	for(it=mymap.begin();it!=mymap.end();it++){
		p=(pair<int,char>)*it;//将迭代器指向的一对元素存放到p中 
		cout<<p.first<<"->"<<p.second<<endl; 
	} 
}
int main() {
	map<int,char> m;//创建map对象m 
	m[10]='A';
	m[11]='B';
	m[12]='C';
	m[13]='D';
	m[14]='E';
	m[15]='F';
	printm(m);
	return 0;
}

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值