排序入门----简单冒泡排序理解

冒泡排序

冒泡排序是我们学习编程过程中必不可少的一种排序,也是我第一次学习的排序,当时记得老师只是让我们死记硬背,但是后来接触编程多了以后发现理解思想是最重还要的,我理解的冒泡排序是像泡泡一样一个接一个的排序。
首先要学习冒泡排序就要了解它的排序规则。
1.PNG
首先看上图有五个数据(顺序无所谓),我们从上面图可知,是将第一个数据和第二个数据进行排序,如果数据1大于数据2,则要进行数据的交换,如果数据1小于数据2,则不变。 因此,我们可以看出第一趟进行4次,第二趟就需要执行3次,第三趟需要执行两次,第四趟需要一次
但是我们需要知道它需要进行4趟,长度为arr.length-1,交换次数为4,3,2,1。
索引 交换次数 规律
0 4 4-0(arr.length-1-i)
1 3 4-1
2 2 4-2
3 1 4-3
由此可知,交换次数与执行趟数的关系为arr.length-i-1。
如何交换两个数呢?
这里就需要借用到一个中间量,根据下图可以更好的理解。
2.PNG
 var a=1;
 var b=2;
 var t;
 t=a;
 a=b;
 b=t;
 console.log(a,b)
然后进行冒泡排序
for(var i=0;i<=arr.length;i++){        //外层循环,用来控制趟数
 for(var j=0;j<=arr.length-i-1;j++){    //里层循环,用来控制交换次数
 if(arr[j]>arr[j+1]){
 temp=arr[j];
 arr[j]=arr[j+1];
 arr[j+1]=temp;
 }

 }
}
console.log(arr);
以上就是简单学习的冒泡排序,如果有不对的地方,恳请指正。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容