当前位置: 首页 > news >正文

苏州网站开发公司电话太原网络营销公司

苏州网站开发公司电话,太原网络营销公司,上海龙华医院的网站建设,新浪网页版入口文章目录 sort()排序函数(c)一、原理二、使用方法(一)头文件(二)使用语法1.方式一(默认)2.方式二:定义升序或降序3.方式三:自定义 sort()排序函数&#xff08…

文章目录

  • sort()排序函数(c++)
    • 一、原理
    • 二、使用方法
      • (一)头文件
      • (二)使用语法
        • 1.方式一(默认)
        • 2.方式二:定义升序或降序
        • 3.方式三:自定义

sort()排序函数(c++)

一、原理

STL中的sort()并非只是普通的排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同的情况,能自动选用合适的排序方法。

二、使用方法

(一)头文件

#include<algorithm>

algorithm意为算法,是c++的标准模板库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模板函数

(二)使用语法

1.方式一(默认)
void sort (RandomAccessIterator first, RandomAccessIterator last);
  • first:起始位置
  • last:末位置

两个参数first,last,将==[first, last) 区间内元素升序(从小到大)排列。【注意区间为左闭右开】==

例:

对数组进行排序

#include<bits/stdc++.h>
using namespace std;int main()
{int a[10]={5,3,1,6,7,9,4,2,8,0};sort(a,a+10);for(int i=0;i<10;i++)cout<<a[i]<<" ";return 0;
}

对字符串进行排序

#include<bits/stdc++.h>
using namespace std;int main()
{string a="kjfxnzqsad";sort(a.begin(),a.end());cout<<a<<endl;return 0;
}
2.方式二:定义升序或降序
void sort (RandomAccessIterator first, RandomAccessIterator last, greater<type>()或less<type>());
  • greater():从大到小排序
  • less():从小到大排序
  • type表示数据类型,如果数据类型为整形,即函数为greater<int>(),其他数据类型如float、double等同理,但不支持string数据类型

例:对字符串进行降序

#include<bits/stdc++.h>
using namespace std;int main()
{string a="kjfxnzqsad";sort(a.begin(),a.end(),greater<char>());cout<<a<<endl;return 0;
}

sort函数中,greater<string>()不能用于string类型的排序。greater是一个函数对象,通常用于比较基本数据类型(如intfloat等),而不是用于string

3.方式三:自定义
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

自定义排序: 需用户指定排序规则Compare comp,将 [first, last)区间内的元素按照用户指定的顺序排列。

使用sort()我们不仅仅可以从大到小或者从小到大排序,还可以按照一定的准则进行排序

例:

使用自定义的形式对数组进行降序

#include<bits/stdc++.h>
using namespace std;bool cmp(int x,int y)
{return x>y;
}int main()
{int a[10]={2,9,6,3,5,8,7,4,1,0};sort(a,a+10,cmp);for(int i=0;i<10;i++)cout<<a[i]<<" ";return 0;
}

根据个位数大小对数字进行排序

#include<bits/stdc++.h>
using namespace std;bool cmp(int x,int y)
{return x%10>y%10;
}int main()
{int a[10]={56,988,633,31,52,84,79,45,117,0};sort(a,a+10,cmp);for(int i=0;i<10;i++)cout<<a[i]<<" ";return 0;
}

对结构体进行排序

对结构体进行排序时必须使用自定义函数

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;struct Student{string name;int score;
};bool cmp_score(Student x,Student y){return x.score > y.score;
}int main(){Student stu[3];string n;int s;for(int i=0;i<3;i++){cin>>stu[i].name>>stu[i].score;}sort(stu,stu+3,cmp_score);for(int i=0;i<3;i++){cout<<stu[i].name<<" "<<stu[i].score<<endl;}return 0;
}
http://www.15wanjia.com/news/39071.html

相关文章:

  • 国办网站建设要求百度seo网络营销书
  • 做设计都有什么网站百度搜索数据统计
  • 丰台建设企业网站seo优化大公司排名
  • 网站制作结构太原网站优化
  • 建网站带支付链接南昌seo顾问
  • 电商类网站怎么做推广佛山网站建设公司
  • 石家庄建站模板源码今日中国新闻
  • word怎么做网站广告投放都有哪些平台
  • wordpress用户数据库丹东网站seo
  • 莱州一中网站太原百度推广排名优化
  • 龙虎和网站开发厦门网站建设公司哪家好
  • 做下一个盗版小说网站如何进行搜索引擎营销
  • 国家乡村振兴局站长工具seo优化
  • 秦皇岛住建局官网湖南竞价优化哪家好
  • 日照外贸网站建设百度搜索推广收费标准
  • index.html网站怎么做搜狗识图
  • 云南疫情最新消息今天seo挖关键词
  • 营口网站设计谷歌手机网页版入口
  • 需要企业网站开发百度排名点击软件
  • 许昌抖音推广公司廊坊首页霸屏排名优化
  • 网站建设专业的百度知道首页网
  • lazy load wordpress石嘴山网站seo
  • 网站宣传的方法自媒体推广渠道
  • 湖北营销型网站建设公司电脑版百度网盘
  • 中山手机网站建设价格个人怎么做网络推广
  • 一个企业做网站推广的优势seo营销方案
  • 卖菜网站应该怎么做看网站搜索什么关键词
  • asp做网站基本过程网络营销服务公司
  • 济南教育平台网站建设公司企业网站建设
  • linux做网站优势网上做广告宣传