STL初步-见识一下sort函数


STL初步-见识一下sort函数
  还没有接触C++的时候,我做的一些算法题如果包含有排序的问题,我一般都是用选择排序法或者冒泡排序法来解决,但是学习了C++后,我知道了还有STL也就是C++的标准模板库里面的函数我是可以直接使用的。想要了解STL需要先明白C++的模板是什么含义。
 
#include
    
    
     
     
using namespace std;
#include
     
     
      
      
int main(){
	int a[100];
	int n;
	cin>>n;
    for(int i = 0 ; i < n ; i++){
    	cin>>a[i];
	}
	sort(a,a+n);//从小到大排序 
	for(int i = 0 ; i < n ; i++){
    	cout<
      
      
       
       <<" ";
	}
	return 0;
} 
      
      
     
     
    
    
  这段代码,我就是简单的使用了sort函数实现了对整型数组的排序。
  另外,sort可以对任意对象进行排序,不一定是内置类型,如果希望用sort排序,这个类型需要定义“小于”运算符,或者在排序时传入一个“小于”函数。排序对象可以存在于普通数组里,也可以存在容器中,如vector中。前者使用的是sort(a,a+n),后者使用sort(v.begin(),v.end())。   要注意的是 sort是一个模板函数。
  要对自定义对象进行排序,要重载‘<’ 运算符,比如
#include<iostream>
using namespace std;
class A{
private:
     int x;
     int y;
public:
	 A(int x,int y){
	 	this->x = x ;
	 	this->y = y ;
	 }
     bool operator < (const A& b){
     	return this->x<b.x? true:false;
	 } 
};
int main(){
	A test_1(1,3),test_2(2,4),test_3(3,2);
	if(test_1<test_2) cout<<"test_1小于test_2";
}
我写了一个类A ,重载了<运算符,比较对象中x的值大小,并返回bool类型。main函数中我写了测试语句。
   所以那么,在这里就可以使用sort函数了。
  
int main(){
	A p[5];
	int n ;
	sort(p,p+n);
	return 0 ;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值