冒泡排序法,是数组等线性排列的数字从大到小或从小到大排序。
以从小到大排序为例。
数据 11, 35, 39, 30, 7, 36, 22, 13, 1, 38, 26, 18, 12, 5, 45, 32, 6, 21, 42, 23
使用 数组 int [] array 存储数字。
过程 (数组从小到大排序)
思路循环都把最大的数放在最后一位,无序数字个数减1。
i 为当前任务位置,n 剩下的无序数字个数
从第 0位开始,比较前后两位数字大大小,当 array[i] > array[i+1] 时,数值互换。
一个循环后,数值最大的已经存到数组最后一位。
无序数字个数 n-1
扫描二维码关注公众号,回复:
5089902 查看本文章
for (int j = array.Length - 1; j > 0; j--) //每排一次,剩下的无序数减一 { for (int i = 0; i < j; i++) //一个for循环获得一个最大的数 { if (array[i] > array[i + 1]) //数值互换 { var sap = array[i]; array[i] = array[i + 1]; array[i + 1] = sap; } } }
排序结果
动图如下