c++

本文详细介绍了C++中使用<algorithm>头文件进行排序的方法,包括默认排序和自定义排序函数的应用,以及如何根据结构体内属性进行排序。

include<algorithm>的用法,怎么用,什么意思?

就是该头文件包含了一些算法,诸如排序,最大值最小值之类,加上这个头文件,就可以直接用里面的算法

1、若为sort(a,b)两个参数,从小到大的默认排序。​​

​首先给出一个例子:

#include<iostream>

​#include<algorithm>

​using namespace std;int main()

​{
​ int a[5]={5,4,3,2,1};
​ for(int i=0;i<10;i++)
cout<<a[i]<<endl;
​ sort(a,a+5); //从中可以看出,两个参数首尾地址,a为起始,a+5结束。
​ for(int i=0;i<10;i++)
cout<<a[i]<<endl;
​ return 0 ;
​}
2、若为三个参数,则需要再写一个cmp函数(此函数的名称cmp可变),用于判断是从小到大排序还是从大到小排序。
​​
​​​​​
#include<iostream>

#include<algorithm>

using namespace std;

bool cmp(int a,int b)

{

return a>b;

}

int main()

{

int a[10]={8,9,7,3,5,1,2,0,4,6};

for(int i=0;i<10;i++)

cout<<a[i]<<endl;

sort(a,a+10,cmp);

for(int i=0;i<10;i++)

cout<<a[i]<<endl;

return 0;

}

3、如果想依照一个结构体内的一个int型的属性参数进行排序,则见如下例子(从大到小排列)

#include<iosteam>
#include<algorithm>

using namespace std;

struct node

{

int a;  

};

bool cmp(node x,node y)

{

 if(x.a != y.a)   

     return (x.a > y.a);  

}

void main(void)

{

int i;  

node N_t[5];  

for(i=0; i<5; i++)  

{  

    cin>>N_t[i].a;  

}  

sort(N_t, N_t+5, cmp);  

for(i=0; i<5; i++)  

{  

    cout<<N_t[i].a;  

}  

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值