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小时内删除。