欢迎光临散文网 会员登陆 & 注册

计算机C语言示例,冒泡排序

2020-07-08 23:25 作者:虎鹰0  | 我要投稿

/********开始************************/

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);       //打印结果

 }

 /********结束************************/


运行结果


计算机C语言示例,冒泡排序的评论 (共 条)

分享到微博请遵守国家法律