Java基础系列(41)- 冒泡排序
冒泡排序
- 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序
- 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知
- 我们看到的嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2)
package array; import java.util.Arrays; /* 冒泡排序 1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 2.每一次的比较,都会产生出一个最大的,或者最小的数字 3.下一轮则可以少一次排序 4.依次循环,直到结束 */ public class Demo09 { public static void main(String[] args) { int[] a = {33,2,15,67,44,28,98,105}; int[] b = sort(a); System.out.println(Arrays.toString(b)); } public static int[] sort(int[] ourArrays){ int temp=0; for (int i = 0; i < ourArrays.length-1; i++) { for (int j = 0; j < ourArrays.length-1-i; j++) { if (ourArrays[j+1]<ourArrays[j]){ temp = ourArrays[j]; ourArrays[j]=ourArrays[j+1]; ourArrays[j+1]=temp; } } } return ourArrays; } }