STL c++

本文介绍C++ STL中的sort函数用法,包括默认排序及通过cmp函数实现的自定义排序方式。此外还介绍了lower_bound函数用于查找数组中首个大于等于指定值的位置,以及unique函数实现的数组去重技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sort函数

需要添加头文件  

#include<algorithm> 

using namespace std;

功能:

排序,整数数组,字符串,结构体排序,函数默认从小到大排序,其它排序需要添加cmp函数;

运用:

sort(a,a+n);默认将数组a从小到大排序;

int cmp(int a,int b)

{

 return a>b;

}

sort(a,a+n,cmp);

将数组a从大到小排序,n代表数组a有n个元素;

结构体:

int cmp(st a,st b)//a和b都是结构体类型

{

     return a.x<b.x;

}//以结构体中某一个元素为基础排序。

sort(a,a+n,cmp);

lower_bound函数:

添加头文件:

#incldue<algorithm>

using namespace std;

功能:

查找数组中第一个大于等于x的位置;需要排序,该函数从数组的第一个开始查找,直到第一个大于等于x的位置终止

运用:

int y=lower_bound(a,a+n,x)-a;

函数返回的是数组中x的指针,减去第一个元素的指针,即为x的位置。

需要判断a[y]是否等于x,等于时间说明数组中有x这个数,如果不相等就说明数组a中没有x。

unique 函数

作用:

去重操作,去掉相邻元素的重复操作。不过不是真正意义上的删除,只是把重复的部分移动到数组的最后,之后函数返回第一个重复地方的指针。

例如:

1,2,2,3,3,5;

函数运用之后数组应为:1,2,3,5,2,3;

函数返回值为当前数组中5的位置。

添加头文件

#include<iostream.h>

运用:

int x = unique(a,a+10) - a;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值