冒泡排序
2021/7/30 6:07:49
本文主要是介绍冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
冒泡排序
冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!
冒泡排序的代码还是相当简单的,两层循环。外层冒泡轮数,里层依次比较。
我们看到嵌套循环,应该马上就可以得出这个算法的时间复杂度为O(n2)。
思考:如何优化?
ArrayDemo07
package array; import java.util.Arrays; public class ArrayDemo07 { public static void main(String[] args) { int[] arr = {4,3,2,1}; sort(arr); System.out.println(Arrays.toString(arr)); } public static int[] sort(int[] a){ int temp = 0; //交换变量容器 //升序:把大的数往数组尾部移动,降序相反 //外循环控制遍历次数 (控制把大的数往数组尾部移动的次数) //减去 1 :因为其他的数都遍历过了,也就确定了结果了,不需要遍历剩下的那个数了 for (int i = 0; i < a.length - 1; i++) { //内循环控制每次遍历的比较次数 //减去 i :因为每遍历一次就确定了一个较大数的位置(数组里前面没有比它更大的数了,就不需要再比较了) for (int j = 0; j < a.length - 1 - i; j++) { if (a[j] > a[j + 1]){ //比较判断两个元素:如果前一个大于后一个,则交换位置 temp = a[j]; a[j] = a[j + 1]; a[j + 1]= temp; } } } return a; //把排序好的数组返回出去 } }
[1, 2, 3, 4]
这篇关于冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20RabbitMQ教程:新手入门指南
- 2024-11-20Redis教程:新手入门指南
- 2024-11-20SaToken教程:新手入门指南
- 2024-11-20SpringBoot教程:从入门到实践
- 2024-11-20Java全栈教程:从入门到实战
- 2024-11-20Java微服务系统教程:入门与实践指南
- 2024-11-20Less教程:初学者快速上手指南
- 2024-11-20MyBatis教程:新手快速入门指南
- 2024-11-20QLExpress教程:初学者快速入门指南
- 2024-11-20订单系统教程:从入门到实践的全面指南