冒泡排序的简单理解

来源:互联网 发布:principle软件 编辑:程序博客网 时间:2024/06/05 05:22

之前第一次接触到冒泡排序的时候似懂非懂,今天又看了一遍之前的笔记,感觉认识加深了一点。为了防止遗忘,自己再写一遍吧。

随便写一个数组,最终通过冒泡排序让其中的数字从小到大排列。

var arr = [123,32,5432,12342,12,231,231,1,0,-1];for (var i=0; i<arr.length-1; i++) {    for(var j=0; j<arr.length-1-i; j++) {       if(arr[j]>arr[j+1]) {           var temp = arr[j+1];           arr[j+1] = arr[j];           arr[j] = temp;       }    }}console.log(arr);

以上代码为js代码。

冒泡排序简单来说就是让前面的数字依次与后面的数字比较大小,每次比较得出的最大数放置到一边,比较完一个继续比较下一个。

上述代码中,因为数字不需要与自身比较,所以循环次数是数组长度值-1。

之所以用两层for循环,是因为一层遍历并不足以将所有的数字比较一遍,所以需要在此之内再放一层循环,使得第一层比较后,在其中再比较内层数字。


自己的表达确实太烂,看着理解,至少代码部分是正确的,orz...

0 0