C 语⾔sort 函数如何使⽤
c语⾔和c++中,对于sort函数的使⽤,不同。c语⾔中没有预置的sort函数,如果在c语⾔中,要调⽤sort函数,就需要⾃定义⼀个⽤于排序的函数,或者使⽤c语⾔⾃有的qsort函数,其头⽂件为stdlib.h。
1、⾃定义排序功能
如下,为整数型从⼩到⼤排序2、⾃有的qsort 函数c++语⾔中,对于排序包含有sort ()函数及qsort 函数。其中sort 函数⽤法为:对数组进⾏排序,其头⽂件为algorithm.h ,形式为sort (数组名,数组名+数组长度),默认为升序,复杂度为nlog (n );sort(begin,end,less<;数据类型>()),升序;sort(begin,end,greater<d 数据类型>()),降序;sort (数组名,数组名+数组长度,less<;数组数据类型()>),升序;sort(数组名,数组名+数组长度,greater<;数组数据类型>()),降序。
qsort ()函数⽤法为,qsort (数组名,元素个数,元素占⽤的空间(sizeof ),⽐较函数),其头⽂件为iostream 。
[html]
1.
[plain]
1. void sort(int *a, int l)//a 为数组地址,l 为数组长度。
2. {
3. int i, j;
4. int v;
5. //排序主体自定义函数怎么用c语言
6. for(i = 0; i < l - 1; i ++)
7. for(j = i+1; j < l; j ++)
8. {
9. if(a[i] > a[j])//如前⾯的⽐后⾯的⼤,则交换。 10. { 11. v = a[i]; 12. a[i] = a[j]; 13. a[j] = v; 14. } 15. } 16. }
[html]
1. #include <stdio.h>
2. #include <stdlib.h>
3. int comp(const void*a,const void*b)//⽤来做⽐较的函数。
4. {
5. return *(int*)a-*(int*)b;
6. }
7. int main()
8. {
9. int a[10] = {2,4,1,5,5,3,7,4,1,5};//乱序的数组。 10. int i; 11. qsort(a,n,sizeof(int),comp);//调⽤qsort 排序 12. for(i =0;i <10;i++)//输出排序后的数组 13. { 14. printf("%d\t",array[i]); 15. } 16. return 0; 17. }
[cpp]
1. #include<iostream>//
2. #include<stdio.h>
3. #include<string>
4. #include<algorithm>
5. #include<cstdlib>
6. using namespace std;
7. int main(int argc,char *argv[])
8. {
9. int data[10];
10. for(int i=0;i<5;i++)
11. cin>>data[i];
12. sort(data,data+5);
13. for(int j=0;j<5;j++)
14. cout<<data[j]<<endl;
15. return 0;
16. }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论