C语言 冒泡排序

#include <stdio.h>

//自己定义一个函数

void bubble_sort(int *data, int length)/*因为不好求出数组data[ ]的长度,所以再定义一个变量length,length就是数组data[ ]的长度*/

{

//第一轮,5个数据共进行4次两两比较,所以为length-1,确定出最大的数放到最后的位置

    for(int i = 0; i < length-1; i++)// 第一层循环,第一层循环的次数length-1

    {

        for(int j = 0; j < length-1-i; j++)// 第二层循环,第二层循环的次数是元素1和元素2,元素2和元素3...依次两两比较,循环次数length-1-i

        {

            if(data[j] > data[j+1])//如果前一个数大于后一个数,就交换位置

            {

                int temp = data[j];

                data[j] = data[j+1];

                data[j+1] = temp;

            }  

        }

    }

   

}

int main(int argc, char const *argv[])

{

    int data[] = {1,5,4,3,2};

//执行上面定义的这个bubble_sort()函数

    bubble_sort(data,5);//把数组data[]传给上面的函数,数组的长度是5

    for(int i = 0; i < 5;i++)

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

    printf("\n");

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值