c语言sort排序
❶ sort函数在c语言中的作用是啥
1、sort()函数描述:对给定区间所有元素进行排序。
sort()函数语法:sort(begin,end),表示一个范围。
2、sort()函数举例:
#include<algorithm>
#include<iostream>
usingnamespacestd;
main()
{
inta[11]={2,4,8,5,7,1,10,6,9,3};//a的长度=待排数据个数+1
sort(a,a+10);//对[a,a+10)排序
for(inti=0;i<10;++i)cout<<a[i]<<endl;
}
❷ C语言. .编写一个Sort函数,完成对整型数组元素升序排列。
#include<stdio.h>
voidsort(inta[],intn){//选择排序
inti,j,k,t;
for(i=0;i<n-1;++i){
k=i;
for(j=k+1;j<n;++j){
if(a[k]>a[j])k=j;
}
if(k!=i){
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
}
intmain(){
inta[]={21,16,30,21,8,19,33,26,28,27,24,50,13,12};
inti,n=sizeof(a)/sizeof(a[0]);
printf("排序前:
");
for(i=0;i<n;++i)
printf("%d",a[i]);
printf("
");
sort(a,n);
printf("排序后:
");
for(i=0;i<n;++i)
printf("%d",a[i]);
printf("
");
return0;
}
❸ c语言运用sort 排序函数,需要的头文件是什么
sort不属于C语言的标准函数,所以也没有相应的头文件,但是可以自定义。
sort函数为将整型数组从小到大排序。
voidsort(int*a,intl)//a为数组地址,l为数组长度。
{
inti,j;
intv;
//排序主体
for(i=0;i<l-1;i++)
for(j=i+1;j<l;j++)
{
if(a[i]>a[j])//如前面的比后面的大,则交换。
{
v=a[i];
a[i]=a[j];
a[j]=v;
}
}}
(3)c语言sort排序扩展阅读
c语言自有的qsort函数
#include<stdio.h>
#include<stdlib.h>
intcomp(constvoid*a,constvoid*b)//用来做比较的函数。
{
return*(int*)a-*(int*)b;
}
intmain()
{
inta[10]={2,4,1,5,5,3,7,4,1,5};//乱序的数组。
inti;
qsort(a,n,sizeof(int),comp);//调用qsort排序
for(i=0;i<10;i++)//输出排序后的数组
{
printf("%d ",array[i]);
}
return0;
}
❹ C语言怎么使用sort函数,求举个简单的例子,谢谢
用 qsort,并且要自己写比较函数。
例如:有个 int a[1000] 的数组要排序。而比较函数你已经写好了名字是 comp,则这样写:
qsort(a,1000,sizeof(int),comp);
比较函数 comp 如下:
intcomp(constvoid*a,constvoid*b)
{
return*(int*)a-*(int*)b;
}
详细的可以查一下关于 qsort 的说明。
❺ C语言编程创建自定义函数sort(),sort函数中实现选择法升序排序,主函数输出排序后的数组元素
#include<stdio.h>
//选择排序算法,升序
voidsort(int*arr,intn)
{
inti,j,k;
inttmp;
for(i=0;i<n-1;i++)
{
k=i;//开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素
for(j=i+1;j<n;j++)
{
if(arr[k]>arr[j])//如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k
k=j;
}
//如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
if(k!=i)
{
tmp=arr[k];
arr[k]=arr[i];
arr[i]=tmp;
}
}
}
intmain()
{
inta[10]={-5,-9,-8,3,9,2,-28,101,-395,0};
inti;
sort(a,10);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf(" ");
return0;
}
//运行结果
F:c_work>a.exe
-395-28-9-8-50239101