#include<Windows.h>
#include<iostream>
#include<algorithm>  // sort  swap   min   max   lower_bound upper_bound reverse
#include<string>
#include<vector>
#include<queue>  //队列  先进先出
#include<stack>   //   stack是先进后出
#include<set>
#include<map>

其实 这一堆头文件,可以用一个万能头文件代替#include<bits/stdc++.h>

#include<bits/stdc++.h>
using namespace std;
vector<int>v;
int main(){
 for(int i=1;i<=10;i++)
  v.push_back(i);                //在vector类中作用为在vector尾部加入一个数据。
 for(auto x : v)                   //auto  输出v中有定义的
  {
  cout<<x<<endl;
 }

#include<bits/stdc++.h>
using namespace std;
vector<int>v;
vector<int>::iterator iter;
int main(){
 for(int i=10;i>=1;i--)
  v.push_back(i);
 sort(v.begin(),v.end());    //排序,默认从小到大         //注意区间 v.begin(),v.end(),左闭右开
 for(auto x : v)
  cout<<x<<" ";
}

#include<bits/stdc++.h>
using namespace std;
vector<int>v;
vector<int>::iterator iter;
int main(){
 int a=10,b=20;
 cout<<a<<" "<<b<<endl;
 swap(a,b);              //交换
 cout<<a<<" "<<b<<endl;
}

#include<bits/stdc++.h>
using namespace std;
vector<int>v;
vector<int>::iterator iter;
int main(){
 int a=10,b=20;
 cout<<a<<" "<<b<<endl;
 a^=b;b^=a;a^=b;        //请记住  这是一个骚操作!!   交换a和b  两次 a^=b不一样
 cout<<a<<" "<<b<<endl;
}

#include<bits/stdc++.h>
using namespace std;
vector<int>v;
vector<int>::iterator iter;
int main(){
 int a[11];
 for(int i=1;i<=10;i++)
    v.push_back(i);
 int pos=lower_bound(v.begin(),v.end(),8)-v.begin();   //注意区间 v.begin(),v.end(),左闭右开
 cout<<pos<<endl;                      // -v.begin()为什么不能去掉 :格式
}
// lower_bound()返回一个 iterator
//它指向在[first,last)标记的有序序列中可以插入value,
//而不会破坏容器顺序的第一个位置,
//而这个位置标记了一个第一个不小于value 的值。               
//upper_bound  是第一个大于的     
//  lower_bound 和upper_bound 是二分  ,而二分只对有序的 
 
 
#include<bits/stdc++.h>
using namespace std;
int main(){
 string s;                 //直接定义string     比数组啥的好用
 cin>>s;
 cout<<s<<endl;
}
 
 
 
#include<bits/stdc++.h>
using namespace std;
int main(){
 string s;
 cin>>s;
 reverse(s.begin(), s.end());        //反转顺序  
 cout<<s<<endl;
 return 0;
}
 
 
 
#include<bits/stdc++.h>
using namespace std;
int main(){
 string s="123456";
 cout<<s<<endl;
 return 0;
}
 
 
 
#include<bits/stdc++.h>
using namespace std;
int main(){
 string s="123456";
 cout<<s[1]<<endl;            //输出2
 return 0;
}
 
#include<bits/stdc++.h>
using namespace std;
int main(){
 string s="123456",s2="qwe";
 cout<<s+s2<<endl;            //可以直接相加
 return 0;
}
 
 
#include<bits/stdc++.h>
using namespace std;
int main(){
 string s="123456",s2="qwe",s3=s+s2;   //没有减号
 cout<<s3<<endl;
 return 0;
}
 
 
 
#include<bits/stdc++.h>
using namespace std;
int a[100000];
int main(){
 for(int i=1;i<=10;i++)
 {
  int x;cin>>x;
  if(a[x]==1) cout<<"YES"<<endl;      
  else cout<<"NO"<<endl;
  a[x]=1;         //如果此时输入的数字,没有出现过,那么输出no  并把这个数字标记为1,下次输入的时候,会输出yes
 }
 
 
#include<bits/stdc++.h>               //此程序等同上一个,       在这里引入集合set  
using namespace std;
set<int>s;          //  For里 1e7  就会超过1s  就会炸掉     10 的7次方
int main(){
 for(int i=1;i<=10;i++)
 {
  int x;cin>>x;
  if(!s.count(x))  cout<<"NO"<<endl;
  else cout<<"YES"<<endl;
  s.insert(x);
 }

 
 

在queup   prior  优先队列 输入的自动排序 从小到大

multiset<int >s     也是set 的一种形式,可以重复,从小到大自动排序

 
 

#include<bits/stdc++.h> 
using namespace std;
priority_queue<int>a;          //队列 先进先出
int main(){
 int b;
 for(int i=0;i<10;i++){
  cin>>b;
  a.push(b);
 }
 for(int i=0;i<10;i++){
 cout<<a.top()<<" ";
 a.pop();
 }   //取得队首元素操作top();   那 是最小的队首还是对大的:?
}
// 输入 1 52 4 3 88 66 44 77 121 100
//  输出  121 100 88 77 66 52 44 4 3 1
/*empty()      如果队列为空,则返回真
pop()    删除对顶元素,删除第一个元素
push()        加入一个元素
size()      返回优先队列中拥有的元素个数
top()     返回优先队列对顶元素,返回优先队列中有最高优先级的元素  */

10.3 c++ STL 初步的更多相关文章

  1. Go语言之Windows 10开发工具LiteIDE初步使用

    Intel Core i5-8250U,Windows 10家庭中文版,go version go1.11 windows/amd64,LiteIDE X34.1 在RUNOOB.COM的Go语言教程 ...

  2. 2020.2.27——STL初步

    注:本文主要针对STL中的常用的操作进行总结 目录: 1.swap 2.sort 3.reverse 4.min,max(比较简单,暂且略过) 5._gcd 6.lower_bound &&a ...

  3. (STL初步)不定长数组:vector

    STL是指C++的标准模板库.(存储着一些常用的算法和容器) vector是一个不定长数组.它把一些常用的操作”封装“在vector类型内部. 例如,a是一个vector.1对元素的操作有,可以用a. ...

  4. 【STL初步】不定长数组:vector + 集合:set + 映射:map

    一.vector 为了节省空间,有时我们会使用动态数组vector. 定义动态数组 vector<类型名>变量名 vector<int>que //定义que为一个int类型的 ...

  5. AcWing STL初步学习

    vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() beg ...

  6. STL初步学习(queue,deque)

    4.queue queue就是队列,平时用得非常多.栈的操作是只能是先进先出,与栈不同,是先进后出,与之后的deque也有区别.个人感觉手写队列有点麻烦,有什么head和tail什么的,所以说 STL ...

  7. STL初步学习(vector)

    前文 初三下学期进入新的学习,对于前两年的学习内容因为各种原因 上课打游戏,睡觉,看视频 已经遗忘,忘记如何使用,算是重新学习一次信息学,希望能尽快将以前的内容弥补上来,争取能在CSP-2020取得一 ...

  8. STL初步学习(set)

    2.set set可以看作一个集合,可以实现自动排序(升序)和去重 在许多题目中,都可以使用这个模板库,减少很多操作,例如P1923 第k小数,当然,这道题有很多奇奇怪怪的做法,分值都不同,之后会讲解 ...

  9. STL初步学习(map)

    3.map map作为一个映射,有两个参数,第一个参数作为关键值,第二个参数为对应的值,关键值是唯一的 在平时使用的数组中,也有点类似于映射的方法,例如a[10]=1,但其实我们的关键值和对应的值只能 ...

随机推荐

  1. 【大白话系列】MySQL 学习总结 之 COMPACT 行格式的设计原理

    如果大家对我的 [大白话系列]MySQL 学习总结系列 感兴趣的话,可以点击关注一波. 一.回顾 MySQL 学习总结系列至此已经第七节了. 从大方向:我们已经学习了 MySQL 的架构设计.Inno ...

  2. JavaScript节流与防抖函数封装

    js节流与防抖函数封装 常见应用场景: window的 resize 和 scroll 事件: 文字输入时的 keyup 事件: 元素拖拽.移动时的 mousemove 事件: 防抖 定义:多次触发事 ...

  3. iOS编程实战 — 新的UI范式

    iOS 7给苹果设备带来了全新的用户界面(UI).iOS 7在UI上的变化是自其诞生以来最大的.iOS 7专注于三个重要的特点:清晰.依从和层次.理解这三个特点很重要,因为这有助于设计跟原生的系统内置 ...

  4. ORACLE中如何找出大表分布在哪些数据文件中?

    ORACLE中如何找出大表分布在哪些数据文件中?   在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区.段分别位于哪些数据文件 ...

  5. [Linux] ubuntu下yarn依赖管理工具的安装和使用

    Yarn 对你的代码来说是一个包管理器, 你可以通过它使用全世界开发者的代码, 或者分享自己的代码.Yarn 做这些快捷.安全.可靠,所以你不用担心什么.通过Yarn你可以使用其他开发者针对不同问题的 ...

  6. 解决本地请求不到json问题,老是出现跨域

    有时候我们需要在本地模拟请求json数据,但是老是出现谷歌跨域的问题, 网上找了方法,说是把json和HTML文件放在同一目录,还有的是页面引用时加上callback的. 但是不知道咋的,可能是本人不 ...

  7. 数据库自学笔记(2)--- HAVING和WHERE, ANY 和 ALL,IN和EXIST。

    1.HAVING和WHERE: WHERE 和 HAVING 的作用对象不一样.WHERE作用于基本表或视图,挑出满足条件的元组.HAVING作用于组(group),一般配合GROUP BY 使用. ...

  8. day19 几个模块的学习

    # 模块本质上就是一个 .py 文件# 数据类型# 列表.元组# 字典# 集合.frozenset# 字符串# 堆栈:特点:先进后出# 队列:先进先出 FIFO # from collections ...

  9. PLSQL-Initialization error

    1. 情况描述 安装完PLSQL之后,在写入数据库连接信息后,连接数据库,报Initialization error错误 (1)未安装Oracle数据库,无相应的oci.dll文件 (2)已安装数据库 ...

  10. windows服务踩的坑

    最近写了一个windows服务 有一些bug最后终于解决了还是写点经验把. 第一点.版本问题,因为是小白,第一次写windows服务,选择的是.net4.6.1的目标框架,因为我的电脑是windows ...