这篇文章主要介绍如何实现java冒泡排序的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
实现java冒泡排序的方法:首先比较第1个和2个第数,将小数放前,大数放后,然后比较第2个数和第三个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,最后重复第一趟步骤,直至全部排序完成。
引用>
<强>实现java冒泡排序的方法:强>
原理:比较两个相邻的元素,将值大的元素交换至右端。
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和2个第数,将小数放前,大数放后。然后比较第2个数和第三个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。
举例说明:要排序数组:int [] arr={2 6 3 8日,9日1};
第一趟排序:
第一次排序:6和3比较,6大于3日交换位置:,3,6,8,2,9,1
第二次排序:6和8比较,6小于8日不交换位置:3,6,8,2,9,1
第三次排序:8和2比较,8大于2,交换位置:,3,6,2,8,9,1
第四次排序:8和9比较,8小于9日不交换位置:3,6,2,8,9,1
第五次排序:9和1比较:9大于1日交换位置:,3,6,2,8,1,9
第一趟总共进行了5次比较,排序结果:,,,3 6,2,8,1,9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
第二趟排序:
第一次排序:3和6比较,3小于6日不交换位置:3,6,2,8,1,9
第二次排序:6和2比较,6大于2,交换位置:,3,2,6,8,1,9
第三次排序:6和8比较,6大于8日不交换位置:3,2,6,8,1,9
第四次排序:8和1比较,8大于1日交换位置:,3,2,6,1,8,9
第二趟总共进行了4次比较,排序结果:,,2,3,6,1,8,9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
第三趟排序:
第一次排序:3和2比较,3大于2,交换位置:,2,3,6,1,8,9
第二次排序:3和6比较,3小于6日不交换位置:2,3,6,1,8,9
第三次排序:6和1比较,6大于1日交换位置:,2,3,1,6,8,9
第二趟总共进行了3次比较,排序结果:,,,,1,2,3,6,8,9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
第四趟排序:
第一次排序:2和3比较,2小于3日不交换位置:2,3,1,6,8,9
第二次排序:3和1比较,3大于1日交换位置:,(2,1,3,6,8,9
第二趟总共进行了2次比较,排序结果:,,,1,2,3,6,8,9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
第五趟排序:
第一次排序:2和1比较,2大于1日交换位置:,1,2,3,6,8,9
第二趟总共进行了1次比较,排序结果:,1,2,3,6,8,9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
最终结果:1,2,3,6,8,9
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进行一趟排序都会找出一个较大值。如上例:第一趟比较之后,排在最后的一个数一定是最大的一个数,第二趟排序的时候,只需要比较除了最后一个数以外的其他的数,同样也能找出一个最大的数排在参与第二趟比较的数后面,第三趟比较的时候,只需要比较除了最后两个数以外的其他的数,以此类推……也就是说,没进行一趟比较,每一趟少比较一次,一定程度上减少了算法的量。
以上是如何实现java冒泡排序的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
如何实现java冒泡排序的方法