【C语言】案例三十四 校园十大歌手(冒泡排序)

案例分析
首先将每位歌手的得分储存到一维数组中,其次构建一个排序函数,使用函数实现对一维数组的排序,因此需要将一维数组作为函数函数参数传入函数。

必备知识

  1. 一维数组作为函数参数
    在程序中,为了方便对数组的操作,经常会定义一些操作数组的功能函数,这些函数将数组作为函数参数,在数组作为函数参数时,必须要保证形参与实参的数组是相同类型,且有明确的数组说明。如数组维度,数组大小等。
    例如下面两种参数类型:
func(int arr[5]);
func(int arr[],int n);

这两种参数类型都指定了数组的维度和数组大小,第二行代码中参数n代表数组的长度。
需要注意的是,数组作为函数参数时,传递的就是数组所在的内存块地址,形参与实参操作的是同一块内存。在形参中改变数组中的元素,实参的数组也会改变。

  1. 冒泡排序法
    冒泡排序就是不断地比较数组中相邻的两个元素,轻小者上浮,较大者向下沉,整个过程和水中起泡上升的原理相似。
    具体如下:
    (1)从第一个元素开始,依次向相邻的两个元素进行两两比较,直到最后两个元素完成比较,如果前一个元素比后一个元素大,则交换位置,整个过程完成后,数组中的最后一个元素就是最大值。
    (2)除了最后一个元素,将剩余的元素继续进行两两比较,将数组中第二大的数放到倒数第二的位置
    (3)以此类推(这个时候我想到了递归)

案例实现
1,案例设计

    • 2
      点赞
    • 6
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值