常用的库函数
1.前言
在刷题过程中,总能看到dl用一些库函数,简化算法,由此萌生慢慢学习整理常用的库函数的想法,本文目前仅为了自用而整理,欢迎指正。
(整理顺序按学习顺序,后续可能会调整 3.27 )
2.内容
1.sort()
作用描述: 对给定区间的所有元素进行排序,默认为升序,也可进行降序排序。
时间复杂度: n*logn (高于冒泡排序)
头文件: #include < algorithm >
函数声明:void sort(start,end,cmp)
说明:
start:排序的起始地址
end:数组结束地址的下一位
cmp:用于规定排序的方法(可不填,默认升序)
如果cmp返回结果为假, 那么函数就会将他们互换位置;
如果cmp返回结果为真,就会保持原来位置不变。
补充:(其余sort类函数)
实例:
1.不加cmp,默认升序(从小到大)
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[7] = { 2,6,9,8,4,3,2 };
for (int i = 0; i < 7; i++)
cout << a[i] << " ";
sort(a, a + 7);
cout << endl;
for (int i = 0; i < 7; i++)
cout << a[i] << " ";
return 0;
}
2.加上cmp,实现从大到小排序
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a > b; //返回值为假,说明a<=b,交换,使其从大到小排序
}
int main()
{
int a[7] = { 2,6,9,8,4,3,2 };
for (int i = 0; i < 7; i++)
cout << a[i] << " ";
sort(a, a + 7,cmp);
cout << endl;
for (int i = 0; i < 7; i++)
cout << a[i] << " ";
return 0;
}
3.结构体排序(先鸽了)
3.小声bb
慢慢总结,慢慢进步~~
4.更新日志
2022.3.28 整理sort()