sort函数的具体用法?

作者&投稿:狂询 (若有异议请与网页底部的电邮联系)
关于sort函数的用法~

#include
#include
using namespace std; //
int main()
{
int a[20]={2,4,1,23,5,76,0,43,24,65},i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}

你说matlab吗?
里面有个参数,可以用:
sort(a,'ascend')%升序
sort(a,'descend')%降序;
a为向量或数组.
也可以这样:先对a求相反数,成-a,然后升序,然后再求相反数.(这只是很简单的数学技巧!在编程时相当有用!)
如果你是C语言,我记得没有函数.你可以自己写.用一些排序算法实现.

sort函数的用法:

做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。

这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。

拿我出的“AC的策略”这题来说,需要对数组t的第0到len-1的元素排序,就写sort(t,t+len);

对向量v排序也差不多,sort(v.begin(),v.end());

排序的数据类型不局限于整数,只要是定义了小于运算的类型都可以,比如字符串类string。

如果是没有定义小于运算的数据类型,或者想改变排序的顺序,就要用到第三参数——比较函数。比较函数是一个自己定义的函数,返回值是bool型,它规定了什么样的关系才是“小于”。想把刚才的整数数组按降序排列,可以先定义一个比较函数cmp
bool cmp(int a,int b)
{
return a>b;
}
排序的时候就写sort(a,a+100,cmp);
假设自己定义了一个结构体node
struct node{
int a;
int b;
double c;
}

有一个node类型的数组node arr[100],想对它进行排序:先按a值升序排列,如果a值相同,再按b值降序排列,如果b还相同,就按c降序排列。就可以写这样一个比较函数:
以下是代码片段:
bool cmp(node x,node y)
{
if(x.a!=y.a) return x.a
if(x.b!=y.b) return x.b>y.b;
return return x.c>y.c;
} 排序时写sort(arr,a+100,cmp);
qsort(s[0],n,sizeof(s[0]),cmp);
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}

一、对int类型数组排序
int num[100];
Sample:
int cmp ( const void *a , const void *b )
{
return *(int *)a - *(int *)b;
}
qsort(num,100,sizeof(num[0]),cmp);

二、对char类型数组排序(同int类型)
char word[100];
Sample:
int cmp( const void *a , const void *b )
{
return *(char *)a - *(int *)b;
}
qsort(word,100,sizeof(word[0]),cmp);

三、对double类型数组排序(特别要注意)
double in[100];
int cmp( const void *a , const void *b )
{
return *(double *)a > *(double *)b ? 1 : -1;
}
qsort(in,100,sizeof(in[0]),cmp);

四、对结构体一级排序
struct In
{
double data;
int other;
}s[100]
//按照data的值从小到大将结构体排序,关于结构体内的排序关键数据data的类型可以很多种,参考上面的例子写
int cmp( const void *a ,const void *b)
{
return ((In *)a)->data - ((In *)b)->data ;
}
qsort(s,100,sizeof(s[0]),cmp);

五、对结构体
struct In
{
int x;
int y;
}s[100];
//按照x从小到大排序,当x相等时按照y从大到小排序
int cmp( const void *a , const void *b )
{
struct In *c = (In *)a;
struct In *d = (In *)b;
if(c->x != d->x) return c->x - d->x;
else return d->y - c->y;
}
qsort(s,100,sizeof(s[0]),cmp);

六、对字符串进行排序
struct In
{
int data;
char str[100];
}s[100];
//按照结构体中字符串str的字典顺序排序
int cmp ( const void *a , const void *b )
{
return strcmp( ((In *)a)->str , ((In *)b)->str );
}
qsort(s,100,sizeof(s[0]),cmp);

七、计算几何中求凸包的cmp
int cmp(const void *a,const void *b) //重点cmp函数,把除了1点外的所有点,旋转角度排序
{
struct point *c=(point *)a;
struct point *d=(point *)b;
if( calc(*c,*d,p[1]) < 0) return 1;
else if( !calc(*c,*d,p[1]) && dis(c->x,c->y,p[1].x,p[1].y) < dis(d->x,d->y,p[1].x,p[1].y)) //如果在一条直线上,则把远的放在前面
return 1;
else return -1;
}

Excel函数:sort排序函数使用方法365新增函数



sort函数的用法(C++排序库函数的调用)
对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。
(一)为什么要用c++标准库里的排序函数
Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高!
(二)c++标准库里的排序函数的使用方法
I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可!
II)Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址的下一地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
Sort函数使用模板:
Sort(start,end,排序方法)
下面就具体使用sort()函数结合对数组里的十个数进行排序做一个说明!
例:sort函数没有第三个参数,实现的是从小到大
#include<iostream>
#include<algorithm>
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]<<endl;
sort(a,a+10);
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}

sort

n.
种类, 类别, 品种

品质, 本性, 性质

方法, 情形, 样子, 程度

某种人[物]

【刷】 一套铅字; [pl. ] 【纺】同级毛, 同型毛

[古](一)群, (一)伙

under all sorts of names
以各种各样的名义
people of every sort and kind
各种各样的人
They'll never stomach that sort of attitude.
他们永远不会容忍那样的态度。
He is the right sort.
他倒是挺合适的人。
He is my sort.
他正是我需要的人。
Queer sort (of a thing)this!
[口]这(东西)倒挺妙!
This copy is hard [runs] on sorts .
【刷】这件稿子要用几种铅字排。
习惯用语
after a sort

有些, 稍微, 有几分

in a sort

有些, 稍微, 有几分

all of a sort

差不多, 大同小异

all sort(s) of (=of all sorts)

各种各样的

all sorts and conditions of men(=men of all conditions)

各种各样的人, 各阶层的人

and that sort of thing

以及诸如此类的事情, 等等

a sort of

一种, 可以说是...的东西

He is not my sort.

[口]他不是我喜欢的那种人。

in any sort

无论如何, 必须

in a sort of way

略为, 比较

in some sort

多少, 稍微

in a sort

多少, 稍微

It takes all sorts (to make a world)

世上的人是形形色色[无奇不有]

no sort of

毫无[不]; 完全不是; 和...全不相称

nothing of the sort

根本没有那样的事情

of a sort

同一种[类], 相当的, 勉强称得上的, 较差的, 所谓的

of all sorts

各种各样的

of every sort and kind

各种各样的

of one's sort

和某人同样身分[性质, 品性]的

of sorts

=of a sort

各种各样的, 未经挑选的

of the sort

那样的; 这类的...., 诸如此类的...

out of sorts

觉得不舒服, 情绪不佳, 心里不自在; 【刷】铅字不全

some sort of

某种 的, 仿佛, 多少有些

that sort of thing

那[这]一类的事情

this sort of thing

那[这]一类的事情

That's your sort!

[口]那样做挺好!

那就是你的想法!

the better sort

[口]出色的人, 更高一级的人, 优秀的人

What sort of?

什么样的? 怎样的?

sort ill with sth.

同某事物不相称, 同某物不协调

sort of

[作状语用]有几分地; 在一定程度上

kind of

[作状语用]有几分地; 在一定程度上

sort out

整理好

挑出

解决

整顿

惩罚, 打败

[和反身代词连用]解决...之间的问题, (使)恢复正常

sort out from

把...从...挑出来

sort well with sth.

同某物相称, 同某物协调

sort: [ s??:t ]

n. 种类,样子,态度
v. 分类,整理,排序
n.[计算机] DOS命令 : 在字符型文件中进行数据排序, 或者将DOS命令的输出进行排序

词形变化:
形容词:sortable 名词:sorter 动词过去式:sorted 过去分词:sorted 现在分词:sorting 第三人称单数:sorts

例句与用法:
1. Sort these eggs by size.
将这些蛋按大小分好。

2. What sort of book do you want?
你要哪一类的书?

3. She's been out of sorts since the birth of her baby.
她生了孩子以後身体一直不好。

4. I'll leave you to sort this problem out.
我把这个问题交给你来处理。

英英解释:
名词sort:

1. a category of things distinguished by some common characteristic or quality
同义词:kind, form, variety

2. an approximate definition or example

3. a person of a particular character or nature

4. an operation that segregates items into groups according to a specified criterion
同义词:sorting

动词sort:

1. examine in order to test suitability
同义词:screen, screen out, sieve

2. arrange or order by classes or categories
同义词:classify, class, assort, sort out, separate


sort排序函数用法
=SORT(CHOOSE({1,2},A2:A9,C2:C9),2,-1)公式释义:CHOOSE({1,2},A2:A9,C2:C9):用 choose 函数将 A 和 C 列组成一个新的数组,结果为 {"赵铁锤",87;"宋大莲",80;"陈小娟",115;"王钢蛋",156;"诸葛钢铁",162;"马凤英",109;"于予菊",117;"龙淑芬",97}SORT(...,2,-1)...

sort函数的具体用法?
sort函数的用法:做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。这个函数可以传两个参数或三个参数...

C++ algorithm 里的sort函数怎么用
sort函数用法例如:int cmp( const int &a, const int &b ){ if( a > b )return 1;else return 0;} sort(a,a+n,cmp);是对数组a降序排序 又如:int cmp( const POINT &a, const POINT &b ){ if( a.x < b.x )return 1;else if( a.x == b.x ){ if( a.y < b.y ...

std::sort()函数的用法
std::sort(begin, end)是快速排序,begin是带排序序列第一个元素,end是最后一个元素后面的标志。如果要排序的是数组,要排序数组A第[i]到第[j](包括)的元素,那么就是 std::sort(&A[i],&A[j+1]);简化就是std::sort(A+i, A+j+1);了 如果要排序的是vector,那么可以写成std::sort(...

c++ sort()函数用法
sort()函数默认是为升序排列,允许排序类型包括数值\/字符\/字符串。sort()也可以对结构体进行排序。cmp函数的返回值为true和false或1和0,若为true\/1,则sort()函数为升序排列,若为false\/0,则sort()函数为降序排列。下面为一个找出奶牛产奶量中间值的小程序,举例说明:include "iostream"#include ...

python sort()用法
可以定义自己的比较函数,然后通过参数传递给sort方法:def comp(x, y):if x < y:return 1elif x > y:return -1else:return 0nums = [3, 2, 8 ,0 , 1]nums.sort(comp)print nums # 降序排序[8, 3, 2, 1, 0]nums.sort(cmp) # 调用内建函数cmp ,升序排序print nums # 降序...

sorth 是什么意思
是C++中的一种函数。sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include<algorithm>的c++标准库中。参数:(1)start表示要排序数组的起始地址;(2)end表示数组结束...

voidsort函数的作用
对数组或列表进行排序。根据查询C语言中文网信息显示,voidsort()函数是C++标准库中的一个函数,其作用是用于对数组或容器进行排序。

C# sort函数怎么用
internal class Item : IComparable<Item> { public string Id { get; set; } public int Count { get; set; } public int CompareTo(Item other){ return this.Count.CompareTo(other.Count); \/\/ 按照Count属性排序 } }

Python里的sort语句
Python中的sort()函数是序列的内部函数,函数原型:L.sort(cmp=None, key=None, reverse=False)函数作用:它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序。Python中sort()参数说明:(1) cmp参数 cmp接受一个函数,拿整形举例,形式为:def f(a,b):return...

景谷傣族彝族自治县13663295508: sort函数(C++中的一种函数) - 搜狗百科
戈柏杏芎:[答案] MSDN中的定义:template void sort(RanIt first,RanIt last); //--> 1)template void sort(RanIt first,RanIt last,Pred pr); //--> 2)头文件:#include using namespace std;1.默认的sort函数是按升序排.对应于1...

景谷傣族彝族自治县13663295508: 如何使用Sort函数 -
戈柏杏芎: #includeusing namespace std;这两句需要有.然后sort是这样的 sort(begin,end,cmp_filename);其中begin和end表示的是对[begin,end)左闭右开区间,cmp_filename是一个函数名(你自己定义的), bool cmp(类型 a,类型 b) //eg: bool ...

景谷傣族彝族自治县13663295508: sort函数的用法 -
戈柏杏芎:你说matlab吗?里面有个参数,可以用:sort(a,'ascend')%升序sort(a,'descend')%降序;a为向量或数组.也可以这样:先对a求相反数,成-a,然后升序,然后再求相反数.(这只是很简单的数学技巧!在编程时相当有用!)如果你是C语言,我记得没有函数.你可以自己写.用一些排序算法实现.

景谷傣族彝族自治县13663295508: C++ sort函数 参数的用法? -
戈柏杏芎: std::sort,所在头文件 template void sort(RandomIt first,RandomIt last); template void sort(ExecutionPolicy&& policy,RandomIt first,RandomIt last); template void sort(RandomIt first,RandomIt last,Compare comp); template void sort(...

景谷傣族彝族自治县13663295508: sort字符串排序函数怎么用,请热心网友写一个小程序实例下…… -
戈柏杏芎: #include<algorithm>头文件 函数Sort()用于对参数整数数组array的元素进行由小到大的选择排序,其中参数n表示array数组中存储的数组元素数.例如,假设数组array中有10个元素,选择排序就是:先将10个数中的最小数与a[0]对换;再将a[1]到a[9]中的最小数与a[1]对换,….,直到排序完成.最简单的使用sort(a,a+n);a为数组名,n为数组长度

景谷傣族彝族自治县13663295508: sort函数如何使用求一个整形数组的排序例子最好是逆序的
戈柏杏芎: 首先自己定义一个比较函数bool cmp(int a,int b){ if (a>b) return true; return false;}而后在调用sort的时候,第三个参数写上你自己定义的这个比较函数就行了,例如sort(a,a ...

景谷傣族彝族自治县13663295508: sort函数在C语言中如何使用?
戈柏杏芎: 排序(sort) 语法: void sort(); void sort( Comp compfunction ); sort()函数为链表排序,默认是升序.如果指定compfunction的话,就采用指定函数来判定两个元素的大小.

景谷傣族彝族自治县13663295508: sort字符串排序函数怎么用,请热心网友写一个小程序实例下…… -
戈柏杏芎: #include头文件函数Sort()用于对参数整数数组array的元素进行由小到大的选择排序,其中参数n表示array数组中存储的数组元素数.例如,...

景谷傣族彝族自治县13663295508: MATLAB中sort函数的用法详解sort(A,1,'descend')的意思没弄明白?请指点,谢谢! -
戈柏杏芎:[答案] A是要排序的矩阵,1是维度,就是说是按列排序还是按行排序,1是按列排序,'descend'是降序排列.看下帮助文档就知道了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网