文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序练习-冒泡排序

C程序练习-冒泡排序

时间:2010-07-19  来源:chengxiaopeng

    学习C程序设计,我们都会遇到冒泡排序这个算法,这个算法的原理是拿第一个数和后面的书相比较,根据规则,进行数值的交换,则经过一轮的交换,则最后一个就是最大,或者最小的数字。然后拿第二个数和下面的几个数比较,则在进行一次排序,经过n-1此的排序,则最大或者最小的数字就沉在最下面,用此算法实现排序。代码如下:

#include <stdio.h>

void maopao_asc_sort(int[],int);
void print_shuzu(int[],int);
void maopao_desc_sort(int[],int);
int main()
{
    int a[11]={30,5,20,4,50,60,84,58,31,26,33};
    printf("the soure data is :\n");
    print_shuzu(a,11);
    maopao_asc_sort(a,11);
    printf("\nthe sorted numbers:\n");
    print_shuzu(a,11);
    printf("\nthe desc sorted numbers:\n");
    maopao_desc_sort(a,11);
    print_shuzu(a,11);
    system("pause");
    return 1;
}

void maopao_asc_sort(int a[],int n)
{
    int i,j,t;
    for (i=0;i < n - 1;i++)
    {
        for (j=0;j<n - 1 - i;j++)
        {
            if(a[j] > a[j+1])
            {
                    t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
            }
        }
    }
}

void maopao_desc_sort(int a[],int n)
{
    int i,j,t;
    for (i=0;i < n - 1;i++)
    {
        for (j=0;j<n - 1 - i;j++)
        {
            if(a[j] < a[j+1])
            {
                    t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
            }
        }
    }
}

void print_shuzu(int a[],int n)
{
     int i;
     for (i=0;i<n;i++)
     {
         printf("%d ",a[i]);
     }
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载