冒泡排序详解

排序的算法很多,例如:冒泡、插入、选择、快速、希尔、堆排序......
这里我们先介绍冒泡排序,以后会在学习数据结构是讲解其他排序方法
冒泡排序:(解决排序的问题)
        核心思想:两两相邻的元素进行比较
        每一趟冒排序需解决了一个数字,第一个数字和第二个数字比较、排序,然后第二个数字和第三个数字再进行比较、排序......
你会发现,从第一次开始比较排序后,接下来的比较排序都是在前一次的基础上进行的,也就是每一趟的冒泡排序解决了一个数字的排序问题
也就是有n个数字需要排序时,冒泡排序进行了n-1趟,每一趟进行了n-1-(n-1)。注意,这里的(n-1)是指第几趟。

下面,我们仍给出代码来展示:

先把需要排序的数字放入数组中,然后用sizeof计算数组中数字个数,传参到我们写的函数中进行冒泡排序,因为传过去的是地址,所以数组值是会被改变的,我们也就不需要他返回值了,接着再传入函数将排好序的数字打印到屏幕上。                                                                                          

数组传参:(数组传参的实质是传递了数组首元素的地址,所以形参访问的数组和实参访问的数组是同一个数组,形参的数组是不会单独再创建一个数组空间,所以形参的数组是可以省略掉大小的)

当然,我们也可以减少程序运行的次数,优化程序,就比如:

在我们排序的过程中,假设进行一趟就可以将这组数字完全排序,如果假设成立,我们就可以直接跳出第一个循环,不需要再次进行循环,提高运行效率,减少运行空间。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值