1.sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑!
2.sort函数的模板有三个参数:
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
(1)第一个参数first:是要排序的数组的起始地址。
(2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)
(3)第三个参数comp是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序。
(4)注意库中的sort函数对迭代器的类型也是有要求的,不支持随机访问的好像不太行哦!
#include
#include
using namespace std;
bool cmp(int a,int b);
main(){
//sort函数第三个参数自己定义,实现从大到小
int a[]={45,12,34,77,90,11,2,4,5,55};
sort(a,a+10,cmp);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
}
//自定义函数
bool cmp(int a,int b){
return a>b;
}
1.当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。
2.为了解决这个问题,可以使用一个叫做 getline 的 C++ 函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。
3.用法getline(cin, inputLine);
string name;
string city;
cout << "Please enter your name: ";
getline(cin, name);
1.reverse是C++下的库函数,可用于翻转字符串,翻转链表等使用需要添加头文件
#include
2.reverse()会将区间[beg,end)内的元素全部逆序;
其中
区间翻转
1.reverse(str.begin(),str.end()) 反转字符串
2.reverse(vector.begin(),vector.end()) 反转向量
3.reverse(a,a+strlen(a)) 反转数组
1.简介
memset是一个初始化函数,作用是将某一块内存中的全部设置为指定的值。
2.用法
void *memset(void *s, int c, size_t n);
s指向要填充的内存块。
c是要被设置的值。
n是要被设置该值的字符数。
返回类型是一个指向存储区s的指针。
3.打样
char str[100];
memset(str,0,100);
1.用法:
int result = isalpha('-');`
2.解析:用来判断一个字符是否为字母,如果是字符则返回非零,否则返回零。
用来判断一个字符是否为小写字母,也就是是否属于a~z。是返回非零,不是返回0。
用来判断一个字符是否为大写字母。是返回非零,不是返回0。
1.用法:
char c = toupper(a);
2.解析:a为字符时,如果a是小写字母则将其转换为大写字母,否则不变。a为数字则将其按ASCLL码转换为对应字符。(其实即使a是字符,输入之后还是会将其转换为int类型)
1.用法:
char c= tolower(a);
2.解析:a为字符时,如果a是大写字母则将其转换为小写字母,否则不变。a为数字则将其按ASCLL码转换为对应字符。
用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于
az||AZ||0~9。是返回非零,不是返回0。
用来判断一个字符是否为数字,如果是数字则返回非零,否则返回零。
1.用法:
char *strcpy( char *to, const char *from );
2.简介:
✳️strcpy函数是将一个**字符串的全部内容(包括'\0')**拷贝到另一个字符串里。
3.打样:
char arr1[] = "abcdefghi";
char arr2[] = "bit";
strcpy(arr1, arr2);//字符串拷贝
printf("%s\n", arr1);
printf("%s\n", arr2);
1.简介:
✳️不会包含’\0’;
2.用法
size_t strlen ( const char * str );
3.打样
char str1[] = "abcdef";
printf("%d\n", strlen(str1));
char* p1 = "abcdef";
char* p2 = "abcdef";
char* p3 = "abcd";
char* p4 = "bcde";
printf("%d\n", strcmp(p1,p2 ));
printf("%d\n", strcmp(p1,p3 ));
printf("%d\n", strcmp(p3,p4 ));
1.用法:
std::string to_string(int value);
std::string to_string(long value);
std::string to_string(long long value);
std::string to_string(unsigned value);
std::string to_string(float value);
std::string to_string(double value);
打样: std::string pi =std::to_string(1+2+3+4.123);
std::cout << pi << std::endl;
2.解析:将数字转换为字符串,这里注意如果是浮点型数转字符,会将精度范围内小数点后的数全部显示出来
1.用法:
int std::stoi(const std::string& str,std::size_t* pos=0,int base = 10);
int std::stoi(const std::wstring& str,std::size_t* pos=0,int base = 10);
double stod (const string& str, size_t* idx = 0);
double stod (const wstring& str, size_t* idx = 0);
打样:
int a = stoi(str1);
cout << "a = " << a << endl;
double b = stod(str1);
cout << "b = " << b << endl;
//如果字符串中,数字在字符(字母和符号)后面,那么调用stoi函数会引发异常
2.解析
stoi函数: 将string类型转换成int类型的函数
stod函数: 将string类型转换成double类型的函数
3.两个函数的共同特性:
a.会自动截取所需要的类型数值
b.遇到非数字,截取停止,即使后面有数字也不会继续读取了
后续还会慢慢更新哦!