STL: (Standard Template Library) 标准模板库
>包含一些常用的算法如排序查找,还有常用的数据结构如可变长数组、链表 、字典等。
>使用方便,效率较高
>要使用其中的算法,
需要#include <algorithm>
所以不能用c哦~
(一)对基本类型的数组从小到大排序: sort(数组名+n1,数组名+n2);
n1和n2都是int类型的表达式,可以包含变量
如果n1=0,则 + n1可以不写
将数组中下标范围为[n1,n2)的元素从小到大排序。
下标为n2的元素不在排序 区间内
用法:
int a[] = {15,4,3,9,7,2,6};
sort(a,a+7); //对整个数组从小到大排序
int a[] = {15,4,3,9,7,2,6};
sort(a,a+3); // 结果:{3,4,15,9,7,2,6}
int a[] = {15,4,3,9,7,2,6};
sort(a+2,a+5); //结果:{15,4,3,7,9,2,6}
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,i,j,c=0;
int a[7] = {15,4,3,9,7,2,6};
sort(a,a+7);//等同sort(a+0,a+7);
for(i=0;i<7;i++)
{
printf("%d ",a[i]);
}
return 0;
}
(二)对元素类型为T的基本类型数组从大到小排序:
sort(数组名+n1,数组名+n2,greater());
int a[] = {15,4,3,9,7,2,6};
sort(a+1,a+4,greater<int>()); // 结果:{15,9,4,3,7,2,6}
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,i,j,c=0;
int a[7] = {1,2,3,4,5,6,7};
sort(a+0,a+7,greater<int>());
for(i=0;i<7;i++)
{
printf("%d ",a[i]);
}
return 0;
}
//输出7 6 5 4 3 2 1