C语言sort函数如何使用#includestdio.h
#includestdlib.h
int comp(const void*a,const void*b)//用来做比较c语言中的sort函数的函数 。
{
return *(int*)a-*(int*)b;
}
int main()
{
int a[10] = {2,4,1,5,5,3,7,4,1,5};//乱序c语言中的sort函数的数组 。
int i;
qsort(a,10,sizeof(int),comp);//调用qsort排序
for(i=0;i10;i++)//输出排序后的数组
{
printf("%d ",a[i]);
}
return 0;
}
c语言和c++中c语言中的sort函数,对于sort函数的使用,不同 。c语言中没有预置的sort函数,如果在c语言中,要调用sort函数,就需要自定义一个用于排序的函数 , 或者使用c语言自有的qsort函数,其头文件为stdlib.h 。
sort函数在C语言中的作用是啥?1、sort()函数描述:对给定区间所有元素进行排序 。
sort()函数语法:sort(begin,end),表示一个范围 。
2、sort()函数举例:
#include algorithm
#include iostream
using namespace std;
main()
{
int a[11]={2,4,8,5,7,1,10,6,9,3};//a的长度=待排数据个数+1
sort(a,a+10);//对[a,a+10)排序
for(int i=0;i10;++i) couta[i]endl;
}
c语言中sort的用法详解c语言的学习很多是比较复杂的 , 那么c语言中sort的用法的用法你知道吗?下面我就跟你们详细介绍下c语言中sort的用法的用法,希望对你们有用 。
c语言中sort的用法的用法
sort是STL中提供的算法,头文件为#includealgorithm以及using namespace std; 函数原型如下:
?
1
2
3
4
5
template class RandomAccessIterator
void sort ( RandomAccessIterator first, RandomAccessIterator last );
template class RandomAccessIterator, class Compare
void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );
使用第一个版本是对[first,last)进行升序排序,默认操作符为"",第二个版本使用comp函数进行排序控制,comp包含两个在[first,last)中对应的值,如果使用""则为升序排序,如果使用""则为降序排序,分别对int、float、char以及结构体排序例子如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#includestdio.h
#includealgorithm
#includestring
using namespace std;
struct product{
char name[16];
float price;
};
int array_int[5]={4,1,2,5,3};
char array_char[5]={'a','c','b','e','d'};
double array_double[5]={1.2,2.3,5.2,4.6,3.5};
//结构比较函数(按照结构中的浮点数值进行排序)
bool compare_struct_float(const product a,const product b){
return a.priceb.price;
}
//结构比较函数(按照结构中的字符串进行排序)
bool compare_struct_str(const product a,const product b){
return string(a.name)string(b.name);
}
//打印函数
void print_int(const int* a,int length){
printf("升序排序后的int数组:\n");
for(int i=0; ilength-1; i++)
printf("%d ",a[i]);
printf("%d\n",a[length-1]);
}
void print_char(const char* a,int length){
printf("升序排序后的char数组:\n");
for(int i=0; ilength-1; i++)
推荐阅读
- 怎么修改显卡散热声音,如何给显卡散热降温
- 包含鸿蒙系统有没有离线模式的词条
- 包含linuxgt命令的词条
- 直播小酒录屏,直播喝酒8小时回放
- 实际开发linux命令 linux开发过程
- linux自动刷新命令,linux怎么刷新
- 为什么不能拍摄人像,为什么不能拍照
- redhat编译安装postgresql,redhat linux安装
- 数据统计分析php 数据统计分析怎么做