学习日志( 二 )
菜鸡在线教学
.
2021.2.20
字符串转换
头文件: #include < string >
- stoi: string型变量转换为 int 型变量
- stol: string型变量转换为 long 型变量
- stoul: string型变量转换为 unsigned long 型变量
- stoll: string型变量转换为 long long 型变量(常用)
- stoull:string型变量转换为 unsigned long long 型变量
- stof: string型变量转换为 float 型变量
- stod: string型变量转换为 double 型变量(常用)
- stold: string型变量转换为 long double 型变量
2021.1.21
reverse函数
头文件是 # include < algorithm>
功能:逆序(或反转),多用于字符串、数组、容器
reverse 函数用于反转在 [ first , last )范围内的顺序 ( 包括 first 指向的元素,不包括 last 指向的元素 ), reverse 函数无返回值
eg.
string str = " hello world , hi " ;
reverse( str.begin() , str.end() ); // str 结果为 ih , dlrow olleh
vector< int > v = { 5,4,3,2,1 };
reverse( v.begin() , v.end() ); // 容器 v 的值变为1,2,3,4,5
2021.1.21
memset 函数
功能:memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。
(在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法)
用法:void * memset ( void * s , int ch , size_t n ) ;
2021.1.22
gcd 函数
头文件是 # include < algorithm>
功能:用于求两个数的最大公约数
用法:__gcd( a, b )
2021.1.25
快速排列模板
const int N=1e6+5;
int q[N];
int n;
void quick_sort(int q[],int l,int r){
if(l>=r) return;
int x=q[(l+r)/2],i=l-1,j=r+1;
while(i<j){
do i++; while (q[i]<x);
do j--; while (q[j]>x);
if(i<j) swap(q[i],q[j]);
}
quick_sort(q,l,j);
quick_sort(q,j+1,r);
}
个人:
sort函数和这个quick_sort模板运行的速度差不多,但是sort只能固定的向一方排序,而这个quick_sort模板却可以按照自己想要的方式修改数组顺序,不仅仅对数组排序,如 还可以将数组分成两部分,一部分大于等于x,一部分小于等于x·······