当前位置 博文首页 > Keven_11的博客:C++笔记:排序sort()全解

    Keven_11的博客:C++笔记:排序sort()全解

    作者:[db:作者] 时间:2021-08-31 09:41

    C++笔记:排序sort()全解

    相信大家知道什么是排序了吧,但为了照顾某些小学同学,我还是说一下。排序:将一系列无序的元素转化为有序的元素。

    排序的方法有许多种,如快速排序、归并排序、冒泡排序······
    这里我就讲C++自带的排序函数 sort()。

    #include<iostream>
    #include<algorithm>//1
    using namespace std;
    int main(){
    	int a[5]={1,5,2,4,3};
    	sort(a,a+5);//2
    	for (int i=0;i<5;i++){
    		cout<<a[i]<<" ";
    	}
    	return 0;
    }
    

    1.这是用sort函数要调用的头文件,一定要注意,他要写在#include<iostream>后面,因为#include<iostream>里面包含了#include<algorithm>,否则会出错。

    2.这是将数组a里面的元素从小到大排序(a数组就会变成1、2、3、4、5)格式:sort(x,x+y);数组x中从开始到第y个元素从小到大排序;sort(x+i,x+j);将x[i]——x[j-1]从小到大排序,其他元素不变。当要用sort()排列字符串时:sort(s[x].begin(),s[x].end());,当用sort从大到小排列数组元素时:sort(x,x+y,greater<数据类型>());

    其实,sort还有第三个参数:自定义比较参数。

    #include<iostream>
    #include<algorithm>1
    using namespace std;
    bool cmp(int x,int y){
    	return x>y;
    }
    int main(){
    	int a[5]={1,5,2,4,3};
    	sort(a,a+5,cmp);//注意cmp没带括号
    	for (int i=0;i<5;i++){
    		cout<<a[i]<<" ";
    	}
    	return 0;
    }
    

    自定义函数cmp让C++按照cmp函数来排序(代码中是从大到小,从小到大是bool cmp(int x,int y){ return x<y; })。注意调用时cmp没带括号!
    想看更多,可关注我哟(^U^)ノYO

    cs
    下一篇:没有了