平時常用C++刷一些算法題,C++內置了許多好用的工具函數,但時間一長總是容易忘記,這裏簡單做一下總結,方便複習!
<stdlib.h>
- atoi(const char* str)
將一串字符轉換爲int型 - atof(const char* str)
同上,轉換爲double型 - abs(int n)
取絕對值
<algorithm>
-
fill()
int a[10]; vector<int> vt; fill(a, a+10, 100000); fill(vt.begin(), vt.end(), -100000);
-
sort()
時間複雜度n*log(n)的排序算法,默認升序sort(vt.begin(), vt.end(), cmp);
- max(int a, int b)
取最大值 - min(int a, int b)
取最小值
<string>
- stoi()
string類型字符串轉換爲int - stod()
string類型字符串轉換爲double - to_string()
重載方法,將一些整形,浮點型等轉換爲string類型字符串
<cstring>
- strcmp(char str1, char str2)
比較兩個字符串,前一個小返回<0,前一個大返回>0,否則返回0 - strcpy(char destination, char source)
將後一個字符串拷貝到前一個字符串 - strlen(char* str)
返回字符串str的有效長度
<cctype>
- isalnum()
判斷一個字符是不是alphanumeric,即大小寫英文字母或是數字 - isalpha()
判斷一個字符是不是alphabetic,即英文字母 - isdigit()
判斷一個字符是不是數字 - tolower()
將大寫轉換爲小寫 - toupper()
將小寫轉換爲大寫