冒泡排序的执行过程:
假设一个数组有n个元素,从数组的最左边开始,比较0号位置和1号位置元素的大小。如果0号元素大,就让两个元素交换。如果1号元素大,就什么也不做。然后右移一位,比较1号位置和2号位置元素的大小,和刚才一样,如果1号元素大,则交换。照这样依次比较下去,一直到数组的最右端。最大的元素已经被排在最右边了。因为在算法执行的时候,最大的数据项总是“冒泡”到数组的顶端,所以叫做冒泡排序。现在重新回到数组的最左端开始第二趟排序,过程与第一趟一样,只是不需要比较最后一个元素,它已经是最大的了。不断执行这个过程,知道所有的元素都排定。
冒泡排序的java代码如下:
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
}
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![排序2 <wbr>鈥 <wbr>冒泡排序](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
冒泡排序交换和比较的操作次数都和N*N成正比,这种排序算法的速度是很慢的。