• STL笔记


    C++中STL用法超详细总结_list_HUST_Miao-DevPress官方社区

    String

    1.find 

    string (1)
    size_t find (const string& str, size_t pos = 0) const;//注意这里pos是全缺省参数,可修改。 find('.',3);
    
    c-string (2)
    size_t find (const char* s, size_t pos = 0) const;
    
    buffer (3)
    size_t find (const char* s, size_t pos, size_t n) const;
    
    character (4)
    size_t find (char c, size_t pos = 0) const;
    1. int main ()
    2. {
    3. std::string str ("There are two needles in this haystack with needles.");
    4. std::string str2 ("needle");
    5. // different member versions of find in the same order as above:
    6. std::size_t found = str.find(str2);
    7. if (found!=std::string::npos)
    8. std::cout << "first 'needle' found at: " << found << '\n'
    9. }

    2.c_str 

    函数返回值:const char* c_str() const;
    c++为了兼容c,提出c_str,c_string是以斜杠零为结束标志,而string不包括斜杠零。char*a = "sdfsdf";转成string,需要用到c_str   string  aa = a.c_str();

    This array includes the same sequence of characters that make up the value of the string object plus an additional terminating null-character ('\0') at the end.

    3.reverse(str.begin(),str.end());

    4.string可以使用迭代器,但是一般使用operate[],vector也常用[],

    5.to_string(T )    stoi

    6.istream& getline (istream& is, string& str);

    练习:输入“i like china.”,输出“china. like i”

    1. // ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
    2. #include
    3. #include
    4. #include
    5. using namespace std;
    6. void reverse(string &str)
    7. {
    8. int end = str.size();
    9. for (int i = 0; i < str.size() / 2; i++)
    10. {
    11. swap(str[i], str[end - 1]);
    12. end--;
    13. }
    14. }
    15. int main()
    16. {
    17. string str;
    18. string newstr;
    19. getline(cin, str);
    20. int end = str.size();
    21. for (int i = 0; i < str.size()/2; i++)
    22. {
    23. swap(str[i], str[end - 1]);
    24. end--;
    25. }
    26. cout << str;
    27. size_t pos = str.find(' ');
    28. while (pos <= end)
    29. {
    30. string temp = str.substr(0, pos);
    31. reverse(temp);
    32. newstr.append(temp+" ");
    33. str = str.substr(pos+1);
    34. pos = str.find(' ');
    35. if (pos == std::string::npos)
    36. {
    37. reverse(str);
    38. newstr.append(str);
    39. break;
    40. }
    41. }
    42. return 0;
    43. }

    List

    1.算法库中sort函数只适用于内存连续 Vector,可以先把数据拷贝到vector,sort排序,再拷贝回list;

    list有单独的sort

  • 相关阅读:
    Python 操作MongoDB数据库
    怒刷LeetCode的第16天(Java版)
    Springboot AOP实现指定敏感字段数据加密
    Delphi 高精度计时
    Python股票量化投资课学习—小市值策略测试
    MybatisPlus实用配置、DB策略配置、自动填充、逻辑删除、通用枚举。
    云e办(后端)——全局异常处理
    Spring之AOP源码解析(中)
    Seata AT模式下的源码解析(一)
    ECharts实现数据可视化入门教程(超详细)
  • 原文地址:https://blog.csdn.net/sinat_20962951/article/details/126141660