蓝桥杯需要掌握的知识点2(sort排序)

(1)对普通数组排序

sort排序

头文件:#include <algorithm>

Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
Sort函数使用模板:
Sort(start,end,排序方法)

例一:sort函数没有第三个参数,实现的是从小到大。

sort(a,a+20);

从大到小

#include<iostream>

#include <algorithm>

using namespace std;

int cddx(int a,int b)//或者用bool类型。

{    return a > b;}

int main()

{





int a[100];

int i;

int n;

cin>>n;

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

{

cin>>a[i];

}



sort(a,a+n,cddx);

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

{

cout<<a[i];

}



}

(2)对结构体数组排序

注:对结构体排序,一定要定义函数,无论是从大到小,还是从小到大

这里以身高排序例:

#include<bits/stdc++.h>

using namespace std;

struct people{

double high;

double wi;

};

bool px(people a,people b)

{

if(a.high>b.high)

return true;

else

return false;

}

int main()

{

people p[5];

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

{

cin>>p[i].high>>p[i].wi;

}

sort(p,p+5,px);

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

{

cout<<p[i].high<<" "<<p[i].wi<<endl;

 }

 return 0;

}

猜你喜欢

转载自blog.csdn.net/qq_58136559/article/details/129868126
今日推荐