c语言sort的作用 C语言数组排序方法?
C语言数组排序方法?
c语言对数组元素大小排序:下面是冒泡排序法,实线数组从小到大排序。思想:每次比较两个相邻的数字,如果按升序排列,最大的数字放在后面,一个循环后,最大的数字放在最后。
10、2、3、4、5、6、9、8、7和1是要排序的输入序列。第一次排序后,最大的10放在最后,第二次排序,剩余的2、3、4、5、6、9、8、7、1冒泡,加上当前最大的9。以下是具体代码:
#包括
c排序—sort()函数?
首先,sort()是C和java中对数组元素排序的方法,包含在头文件算法中。
返回值:
对数组的引用。请注意,该数组是按原始数组排序的,不会生成副本。
描述:
如果不带参数调用该方法,数组中的元素将按字母顺序排序,或者更准确地说,按字符编码的顺序排序。要实现这一点,您应该首先将数组的所有元素转换为字符串(如果需要的话)以便进行比较。
如果希望按其他标准排序,需要提供一个比较函数,该函数比较两个值,然后返回一个数字来解释这两个值的相对顺序。比较函数应该有两个参数,a和b,其返回值如下:
如果A小于B,在排序后的数组中A应该出现在B之前,返回小于0的值。
如果a等于b,则返回0。(此时不排序)
如果a大于b,则返回大于0的值。
程序示例:
在本例中,我们将创建一个数组,并按字母顺序对其进行排序:
scripttypetext/JavaScript vararrnewarray(6)arr[0]Georgearr[1]John arr[2]Thomas arr[3]Jamesarr[4]Adrewarr[5]Martin document . write(arr br/)document . write(())/script
输出:
乔治,约翰,托马斯,詹姆斯,阿德瑞,马丁阿德瑞,乔治,詹姆斯,约翰,马丁,托马斯
第二,partial_sort是C STL中的一个函数。
函数原型包括:
partial_sort(beg,mid,end)
partial_sort(beg,mid,end,comp)
功能函数:
对mid-beg元素进行排序,例如如果mid-beg等于42,该函数会将有序序列中的最小元素放入序列中。
前42个位置。partial_sort完成后,对beg到mid(但不包括mid)范围内的元素进行排序,但不在排序范围内。
元素大于mid之后的元素。未排序元素之间的顺序未指定。
程序示例:
# includevector
# include运算符
#includeiostream
#包含算法
#包含功能
#includecstdlib
#includetime.h
usingnamespacestd
intrand_int()
{
returnrand()0;
}
void print(vector ntv,constchar*s)
{
coutsendl
copy((),v.end(),ostream_iteratorint(cout,);
coutendl
}
boolcmp(inta,intb)
{
如果(ab)
returntrue
返回false;
}
类别比较{
public:
booloperator()(constinta,constintb)
{
如果(ab)
returntrue
返回false;
}
};
intmain()
{
srand(time(NULL));
vectorintv
generate_n(back_inserter(v),10,rand _ int);
打印(v,生成10个随机数);
partial_sort((),()4,v . end());
Print(v,局部升序排序);
partial_sort((),()4,v.end(),CMP);
Print(v,局部降序排序);
partial_sort((),()4,v.end(),compare());
Print(v,局部升序排序);
return0
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。