c++容器.STL

set_map容器

#include<bits/stdc++.h>
using namespace std;
const int N=1e+10;
set<int> s;       //集合 去重 
multiset<int> s1; //集合 不去重 
map<int ,int> mp;//映射
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int x;
		cin>>x;
		mp[x]=i;
		s.insert(x);
	}
	/*s.fing(1)    //查找 
	s.clear();    //清空
	s.size();     //计数
	s.empty();    //判空 
	s.erase(2);    //删除 */
	for(auto v:s) {cout<<v<<endl;} 
	for(auto v:mp) cout<<v.first<<" "<<v.second<<endl;
	/*//set遍历 迭代变量声明 
	set<int>::iterator it;
	for(it=s.begin();it!=s.end();it++)
	cout<<*it<<endl;
	//遍历map函数 
	map<int,int>::iterator it1;
	for(it1=mp.begin();it1!=mp.end();it1++)
	cout<<it1->first<<" "<<it1->second<<endl;*/
	return 0;
 } 

string 容器

#include<bits/stdc++.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{  
	string s1(5,'s');              // 5个s 
	cout<<s1<<endl;
	cout<<"A.字符串的输入输出"<<endl;
	string s2; 
	cin>>s2;//输入字符串
	cout<<s2<<endl;//输出字符串
	cout<<"B.访问字符串s2中的字符"<<endl;
	for(int i=0;i<s2.size();i++)   //s2.size字符串的长度 
	{
		cout<<s2[i]<<' ';
	}
	cout<<endl;
	s2[5]='*';
	cout<<s2<<endl;
	cout<<"C.字符串拼接"<<endl;
	string s3=s2+s1;                // 字符串连接 
	cout<<s3<<endl;
	cout<<"D.字符串的增删改查"<<endl;
	cout<<"1.插入"<<endl;
	string s11="1234567890";
	string s22="aaa";
	s11.insert(5,s22);               //插入s11.inster(pos,s2) 
	cout<<s11<<endl;
	cout<<"2.删除"<<endl;
	s11.erase(6,3);                  //删除:s11.erase(pos,num) 
	cout<<s11<<endl;
	cout<<"3.提取子字符串"<<endl;
	string ss1 = "first second third";
	cout<<ss1<<endl;
    string ss2;
	ss2=ss1.substr(6,6);              //截取:subster(pos,num) 
	cout<<ss2<<endl;
	cout<<"4.查找"<<endl;
	int index=ss1.find(ss2,5);        //查找:find(s2,pos) 
	cout<<index<<endl;
	int index1 = ss1.find_first_of(ss2);
	cout<<index1<<endl;
	//string s=to_string(123456)                //转化为字符串 
	return 0;
}

vector 容器

#include<bits/stdc++.h>
using namespace std;
const int N=1e+10;
vector<int> ve ;  // ve[10];2维数组 
int cmp(int a,int b)//降序 
{
	return a>b;
}
int main()
{
	int n;
	cin>>n;
	//ve.clear 清空数组 
	for(int i=1;i<=n;i++)
	{
		int x;
		cin>>x;
		ve.push_back(x); //入数组 
	}
	//ve.pop_back() 去掉最后一个数 
	sort(ve.begin(),ve.end(),cmp);//排序 
	for(int i=0;i<ve.size();i++)
	{
		printf("%d ",ve[i]);
	} 
	return 0;
 } 

栈 容器

#include<bits/stdc++.h>
using namespace std;
/*stack <int> st;
int main()
{
	st.empty();    //判断栈是否为空 
	st.push(int);  //入栈 
	st.pop();      //出栈 
	st.top();      //栈顶元素 
	st.size();     //栈包含的元素 
	
	return 0; 
 } */
 //栈的例题:括号匹配,左括号入栈,遇到右括号出栈 
 stack <char> st;
 string s;
 bool empty(){
 	for( char c:s)
 	{
 		if(c=='(') st.push(c);
 		else if(c==')'){
 			if(st.empty()) return false;
 			st.pop();
		 }
	 }
	 if(st.empty()) return true;
	 return false;
 }
 int main()
 {
 	cin>>s; 
 	if( empty()) cout<<"YES"<<endl;  //匹配成功 
 	else cout<<"NO"<<endl;           //匹配失败 
 	return 0;
  } 

队列容器

//先进先出 
#include<bits/stdc++.h>
using namespace std;
queue <int> q;
//队列的遍打印 
void  print(){
	while(!q.empty()){
		printf("%d ",q.front());
		q.pop();
	}
} 
int main()
{
	q.empty();     //判断队列是否为空 
	q.push(1);  //入队 (队尾) 
	q.pop();      //出队(队头) 
	q.front();      //找到队头元素 
	q.size();     //队包含的元素 
	print();
	return 0; 
 } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值