c++常用函数STL(持续更新中·····)

c++常用函数STL(持续更新中·····),第1张

c++常用函数/STL(持续更新中·····) c++常用函数/STL(持续更新中·····)

本人大二,写博客只是为了积累学过的知识!!!
正在自学算法,有兴趣的私信一起学习呀!!!
寒假冲冲冲!!!

输入/输出技巧

cin讲解
cin 可以连续从键盘读取想要的数据,以空格、tab 或换行作为分隔符
当 cin>> 从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>> 会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>> 不做处理。

1、
当定义了一个字符串数组时,可以直接用 cin 读入一个字符串

char a [N];
cin>>a+1;  //从下标为1的地方开始

2、
可以用 cin 读取用空格隔开的字符
例:假设输入3个 *** 作符(中间用空格隔开)
a b c

char  s[4];
for(int i=0;i<3;i++)
cin>>s[i];             //会自动忽略掉中间的空格

3、puts()函数

头文件:#include
puts()函数用于将一字符串放到标准输出流(stdout)中,并在最后增加换行符 ‘n’,其函数原型如下:
int puts(char *string);
【参数】string为要输出的字符串。
最主要是输出自动换行

printf("%sn", name);
puts(name);         //第一种使用方法
二者是等价的
puts("hello world");//第二种使用方法
unique去重函数

unique(begin,end)
begin 首地址 end 最后一个元素的后一个地址
unique()是C++标准库函数里面的函数,其功能是去除相邻的重复元素(只保留一个),所以使用前需要对数组进行排序

那它是怎么实现去重的呢?删除?

不是,它并没有将重复的元素删除,而是把重复的元素放到数组的最后面藏起来了,函数最终结果返回重复元素开始的首地址。
例:

int a[15]={0,8,41,1,5,5,8,9,45,88,99,5,99,88,8};
  sort(a, a + 15);
    cout << "a数组排好序的序列" << endl;
    for (auto c : a)
        cout << c << ' ';
    puts("");
    int *p=unique(a, a + 15);
    cout << "a数组去重后的序列" << endl;
    for (auto c : a)
        cout << c << ' ';
    cout << endl<<"unique 函数返回的地址处的值" << endl;
    cout << *p;

输出

字母大小写

C库函数 int tolower(int c)转换给定的字母为小写。
C库函数 int toupper(int c)转换给定的字母为大写。

例:将 s 变成小写字符串

 string s;
 string get_lower(string s=a)
 {
     string res;
     for(auto c:s)
     res+=tolower(c);   //string 字符串可以直接相加减
     return res;   
 }
 s=get_lower(s);

本人水平有限,如有错误敬请指正!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5710572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存