字符串操作函数

  1. find()函数
    int ans = s1.find(s2, 2) ;   //从S1的第二个字符开始查找子串S2
    int ans = s1.find(s2);       //从第一个字符开始查找S2
     if(ans!=string::npos)            //查找失败会返回npos
        cout<<"找到了"<<endl;
  2. 字符整型互转转换
    string str=to_string(int_num);//把整型变成字符串
    string str="12356981";
    int b = atoi(str.c_str());//字符串转整型
    cout<<b<<endl;
    图片说明
  3. sort(start_add,end_add,选择升降序)排序函数
    这个函数只有前两个输入的话默认升序排列,从小到大
    还要注意的是如果想要降序,从小到大排列的话第三个参数要传入以下函数
    bool cmp1(int a,int b) //降序
    {
      return a>b;
    }
    bool cmp2(int a,int b) //升序
    {
      return a<b;
    }
    string str="fjdlsfwekjhfs";
    sort(str.begin(),str.end(),cmp1);//降序排列,从大到小
    int a[5] = {1,2,3,4,5};
    //通过数组a的地址初始化,注意地址是从0到5(左闭右开区间)
    vector<int> vec(a, a+5);
    sort(vec.begin(),vec.end());//默认降序,从小到大
    //其实不一定是要容器,用普通数组也可以,只要传地址
    int a[5]={9,8,7,1,4};
    sort(a,a+5,cmp2);//降序,从小到大
    排序pair<int ,int>,今天美团笔试遇到了,太菜写不出怎么排序pair,导致没AC,第一个变量是数值,第二个变量是对应的下标。
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <set>
    #include <utility>
    using namespace std;
    bool cmp(const pair<int, int>& a, const pair<int, int>& b)
    {
      if (a.first == b.first)
          return a.second < b.second;
      return a.first > b.first;
    }
    int main()
    {
      vector<pair<int, int>> vp;
      int n, m;
      cin >> n >> m;
      int v, w;
      for (int i = 1; i <= n; ++i){
          cin >> v >> w;
          vp.push_back(make_pair(v+2*w, i));
      }
      sort(vp.begin(), vp.end(), cmp);
      set<int> ans;
      for (int i = 0; i < m; ++i) ans.insert(vp[i].second);
      int flag = 0;
      for (int num : ans){
          if (flag) cout<< " ";
          cout << num;
          flag = 1;
      }
      cout << endl;
      return 0;
    }

4.tolower()功能是把字母字符转换成小写,非字母字符不做出处理。
toupper() 小写改大写

string str="ASSDFEaxdfef"
for(auto &c:str){
    tolower(c);
    //toupper(c);
}

5.substr()
第一个参数传指定的位置,第二个参数是从指定位置开始截取到后面多少位的数据

string str1("Heterological paradoxes are persistent.");
string str2=str1.substr(6,7);
最后输出logical
全部评论

相关推荐

点赞 评论 收藏
分享
评论
2
2
分享
牛客网
牛客企业服务