书写c语言排序函数

Python021

书写c语言排序函数,第1张

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void sort(int a[],int n)

{ int i,j,t

for(i=0 i<n-1 i++) //共进行n-1轮

{ for(j=0 j<n-1-i j++) //j的范围:0~n-1-i

if(a[j]>a[j+1]) //比较相邻两数:a[j]、a[j+1],如不对就交换

{ t=a[j]

a[j]=a[j+1]

a[j+1]=t

}

}

}

int main()

{ int n,i,a[10000]

scanf("%d",&n)

srand(time(0))

for(i=0 i<n i++)

{ a[i]=rand()%100

printf("%4d",a[i])

}

printf("\n")

sort(a,n)

for(i=0 i<n i++)

printf("%4d",a[i])

printf("\n")

return 0

}

sort不属于C语言的标准函数,所以也没有相应的头文件,但是可以自定义。

sort 函数为将整型数组从小到大排序。

voidsort(int*a,intl)//a为数组地址,l为数组长度。

{

inti,j

intv

//排序主体

for(i=0i<l-1i++)

for(j=i+1j<lj++)

{

if(a[i]>a[j])//如前面的比后面的大,则交换。

{

v=a[i]

a[i]=a[j]

a[j]=v

}

}}

扩展资料

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=0i<10i++)//输出排序后的数组

{

printf("%d\t",array[i])

}

return0

}