C++STL --第一课
C标准库常用函数
<cstring>
memset()
暴力清空
char str[10];
memset(str,0,sizeof(str));
<cmath>
三角函数、指数函数、浮点取整函数
<cstdlib>
qsort()
C语言快排
rand()
随机数
malloc()
free()
C语言动态内存分配
<cctype>
isdigit()
isalpha()
判断字符是否为数字、大小写字母
C++标准库
头文件
<vector>
<string>
<algorithm>
#include<algorithm>
与上面两个头文件不同,这个头文件没有定义新的类型,而是定义了很多使用的算法,极大简化了代码量。
-
sort快速排序
sort()
函数接收三个参数:排序开始指针、排序结束指针、排序依据(函数)
int arr[] = {2,3,1,5,4};
int n = 5;
//参数:
//排序开始指针
//排序结束指针(最后一个元素的下一个元素的指针)
//复杂度O(nlogn)
sort(arr, arr + n);
for(int i = 0; i < n; i++)
{printf("%d\n", arr[i]);
}
对于一个vector数组:
vector<int> arr {2, 3, 1, 4, 5};int main() {sort(arr.begin(), arr.end());//使用取迭代器方法for (int i = 0; i < 5; i++) {printf("%d ", arr[i]);}return 0;
}
第三个参数传入一个函数,可以是自己定义的比较函数,方便实现升降序选择。
int cmp(int a, int b)
{return a < b;//结果的数组升序排列
}
//....sort(arr.begin(), arr.end(), cmp);
如何学习
-
做题+查c++参考手册
-
细节:
-
个人感悟