计算机C语言示例,冒泡排序
/********开始************************/
void sort_s_b(int *a,int len) //升序排列,a为数组变量名
{
int i,j,t;
for (i=0;i<len-1;i++)
{
for (j=0;j<len-1-i;j++)
{
if (a[j]>a[j+1]) //升序,如果是if (a[j]<a[j+1]) 则为降序
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
/********结束************************/
/********开始************************/
void sort_b_s(int *a,int len) //降序排列
{
int i,j,t;
for (i=0;i<len-1;i++)
{
for (j=0;j<len-1-i;j++)
{
if (a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
/********结束************************/
/********开始************************/
void print(int *a,int len) //验证结果,输出a[0]到a[15]
{
for(;len>0;len--)
{
printf("%d\r\n",*a++);
}
}
/********结束************************/
/********开始************************/
int main(void)
{
int a[16]=
{12,54,23,67,54,78,98,543,456,3356,245,577,874,2456,545,2};
int len=(sizeof(a))/(sizeof(int)); //计算元素个数
printf("Sizeof int:%d\r\n", sizeof(int));
printf("Sizeof a[16]:%d\r\n", sizeof(a));
sort_s_b(a,len); //升序
print(a,len); //打印结果
sort_b_s(a,len); //降序
print(a,len); //打印结果
}
/********结束************************/


