- 排序算法(sort函数)
- sort(start,end,排序方法) 排序区间[start,end)
sort(数组名+n1,数组名+n2,排列方法)
默认为从小到大,如要从大到小,则要加一个compare函数,
sort(数组名+n1,数组名+n2,compare)。
bool comapre (int a,int b)
{
return a > b;
}
可以对函数变量进行操作,实现不同的功能。如:
bool compare(int a,int b)
{
Return a%10 > b%10;
} //按个位从大到小排序
-
-
- 结构体排序
-
Student Stu[100];
Bool cmp(Student a,Student b)
{
return a.id > b.id;
}
-
-
- 使用标准库函数
-
升序:sort(begin,end,less<data-type>())
降序:sort(begin,end,greater<data-type>())
-
- 注:sizeof()返回的是占用空间的大小
例:int a[]
a中含有的数为sizeof(a)/sizeof(int)
-
- 二分查找(binary_search)
- 在从小到大排好序的数组上进行二分查找
- 二分查找(binary_search)
结构:binary_search(数组名+n1,数组名+n2,待查值)。
查找区间:[n1,n2)。
返回值:成功返回true,失败返回false。
-
-
- 在自定义排好序的数组上进行二分查找。
-
结构:binary_search(数组名+n1,数组名+n2,待查值,排序规则)。
-
-
- lower_bound(在元素为T类型按从小到大顺序排好序的数组中进行查找)
-
结构:lower_bound(数组名+n1,数组名+n2,待查值)
返回值:T类型的指针(T *p)。
*p为查找区间内下标最小的,>=值的的元素。如果查找不成功则p指向下标 为n2的元素。
注:在元素为T类型按任意规则排序好的数组中进行查找
结构:lower_bound(数组名+n1,数组名+n2,待查值,数组排序规则)。
-
-
- upper_bound(在元素为T类型按从小到大顺序排好序的数组中进行查找)。
-
结构:upper_bound(数组名+n1,数组名+n2,待查值)。
返回值:T类型的指针(T *p)。
*p为查找区间内下标最小的,>值的元素。如果查找不成功则p指向下标为
n2的元素。
注:在元素为T类型按任意规则排好序的数组中进行查找
结构:upper_ bound(数组名+n1,数组名+n2,待查值,数组排序规则)