………大小,直到遍历完数组所有的元素,也就完成了排序。
我们可以把上述代码总结成一种模型,即,
上述代码可以对任意一组数据的任意一段连续数据进行排序(仅需改变上述代码的初始化条件以及循环结束条件即可实现),而这一思想的典型应用就是 “
滚动的榜单”问题。
当然,上述代码也可以用for循环实现,但个人认为,用while循环,更能体现其思想本质,尤其是通过变量head,体现比较范围的变换。且在实际应用时,个人感觉,用while循环实现更加方便。
二):冒泡排序
代码如下(以正序输出为例)
上述代码的运行结果为:
上述代码的思想是:
首先,用数组的第一个元素与剩下的元素比较,并将最小的元素调到第一位;然后,用数组的第二个元素与剩下的元素比较,并将最小的元素调到第二位;以此类推,当head等于n时,就完成了排序。
上述算法,对于不搞竞赛的同学来说,应该是最常用的排序方法了。
上述代码同样可以用for循环实现。
具体代码如下(以升序形式输出)