逗比讲冒泡排序

Posted 数模乐园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逗比讲冒泡排序相关的知识,希望对你有一定的参考价值。


通过上边的图
大家也可以很清楚看到了
准备要做大事情了!
逗比讲冒泡排序
死不死上边红黑相间似曾相似?
看不懂的可谷歌翻译一下
可见一般?!!
正事预警!
本文将在此公众号上通过一个个
鲜活生动的情景故事和漫画
讲解算法知识和逗比故事
大约每周一篇
好了!下面介绍一下漫画人物
阿广的老板
(大熊猫饰)
逗比讲冒泡排序
阿广
(蘑菇头饰)
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
从梦中惊醒
看到老板的面孔~
瞬间清醒了许多!回答道!
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
初始状态
逗比讲冒泡排序
第一轮遍历
逗比讲冒泡排序
第二轮遍历
逗比讲冒泡排序
第三轮遍历
逗比讲冒泡排序
第四轮遍历
逗比讲冒泡排序
第五轮遍历
逗比讲冒泡排序
不用多讲解
只要智商正常
多看几遍动画
应该问题不大!了?
下面剖析一下代码
  
    
    
  
public void bubbleSort(int[] list) {
int temp = 0// 用来交换的临时数
// 要遍历的次数
for (int i = 0; i < list.length - 1; i++) {
// 从后向前依次的比较相邻两个数的大小,遍历一次后,把数组中第i小的数放在第i个位置上
for (int j = list.length - 1; j > i; j--) {
// 比较相邻的元素,如果前面的数大于后面的数,则交换
if (list[j - 1] > list[j]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
}
}
System.out.format("第 %d 趟: ", i);
printAll(list);
}
}



逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
对冒泡排序常见的改进方法是加入标志性变量exchange,用于标志某一趟排序过程中是否有数据交换。
如果进行某一趟排序时并没有进行数据交换,则说明所有数据已经有序,可立即结束排序,避免不必要的比较过程。
改进代码如下:
  
    
    
  
// 对 bubbleSort 的优化算法
public void bubbleSort_2(int[] list) {
int temp = 0// 用来交换的临时数
boolean bChange = false// 交换标志
// 要遍历的次数
for (int i = 0; i < list.length - 1; i++) {
bChange = false;
// 从后向前依次的比较相邻两个数的大小,遍历一次后,把数组中第i小的数放在第i个位置上
for (int j = list.length - 1; j > i; j--) {
// 比较相邻的元素,如果前面的数大于后面的数,则交换
if (list[j - 1] > list[j]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
bChange = true;
}
}
// 如果标志为false,说明本轮遍历没有交换,已经是有序数列,可以结束排序
if (false == bChange)
break;
System.out.format("第 %d 趟: ", i);
printAll(list);
}
}


逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
逗比讲冒泡排序
(双击点看查看大图)


逗比讲冒泡排序
逗比讲冒泡排序


逗比讲冒泡排序
逗比讲冒泡排序

End

文章来源:视学算法

以上是关于逗比讲冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

C语言冒泡排序法代码

请问这个冒泡排序代码,每一行都是啥意思呀,谢谢

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序