蓝桥杯
文章目录
前言
C++中有很多好用的函数,可以在蓝桥杯中省出很多的时间并且大大提高你的获奖率。
一、sort排序函数
Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
Sort(start,end,排序方法)
1.从小到大
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<<a[i];
cout<<endl;
sort(a,a+10);//a是数组名也代表数组首地址 a+10是第11个元素的地址
for(int i=0;i<10;i++)
cout<<a[i];
return 0;
}
2.从大到小
需要加入一个比较函数 complare()
#include<bits/stdc++.h>
using namespace std;
bool complare(int a,int b)
{
return a>b;
}
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<<a[i];
cout<<endl;
sort(a,a+10,complare);
for(int i=0;i<10;i++)
cout<<a[i];
return 0;
}
二、c++标准库
虽然通过以上方法进行了排序,但是还是有点麻烦,c++强大的库不能浪费。
从小到大:
less<数据类型>()
从大到小:
greater<数据类型>()
1.less<数据类型>()
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<<a[i];
cout<<endl;
sort(a,a+10,less<int>());//注意格式后面有个括号
for(int i=0;i<10;i++)
cout<<a[i];
return 0;
}
2.greater<数据类型>()
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<<a[i];
cout<<endl;
sort(a,a+10,greater<int>());
for(int i=0;i<10;i++)
cout<<a[i];
return 0;
}
三、字符排序
同样可以使用sort函数
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char a[11]="ajsalkdj";
for(int i=0;i<10;i++)
cout<<a[i];
cout<<endl;
sort(a,a+10,greater<char>());
for(int i=0;i<10;i++)
cout<<a[i];
return 0;
}
总结
sort函数非常好用,但是要记得两个参数啊(less和greater)
评论(0)
您还未登录,请登录后发表或查看评论