啊我摔倒了..有没有人扶我起来学习....
@TOC
前言
- 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法
- 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成
一、冒泡排序的思想
- 假如我们要从小到大排列数组元素。首先,遍历数组是肯定的,依次比较两个相邻的元素,假如左边的比右边的大,那么交换这两个值
可以发现,循环一次,就可以把最大的值交换在最右边(哪怕这个数组的元素是乱序的也是能达到这个效果的,具体可以自己思考并验证一下)
- 一次循环解决一个数,还剩
9
个元素,那就再来9
次!最终达到以下的效果
二、冒泡排序的代码实现
- 咱们自己造一个乱序的数组,看一看不是顺序的是不是确实也能按从小到大排序
- 核心部分是嵌套循环,内层循环实现将一个数往后移动到它的最终位置,外层循环实现确保每个数都能移动到它的最终位置
for (int i = 0; i < sz - 1; i++)
{
for (j = 0; j < (sz - 1 - i); j++)
{
int tmp = 0;
if (arr[j] > arr[j + 1])
{
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
测试结果: 测试成功!