冒泡排序
思想:
- 就是两两交换,比如我们升序排列,那么就要大的放在后面,所以两两比较然后大的就换一下位置
- 如果只是一层循环的话,只能比较出最大的数字然后排到最后,所以还需要外层一个循环
- 比较是两两比较所以比较次数肯定是length-1
Test.java
package 冒泡排序;
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int arr[]= {5,2,4,6,1,3};
swap(arr);
for (int i : arr) {
System.out.print(i+" ");
}
}
public static void swap(int[] arr) {
int temp=0;
for(int count=0;count<arr.length-1;count++)
for(int i=0;i<arr.length-1;i++) //循环完
if(arr[i]>arr[i+1]) {
temp=arr[i+1];
arr[i+1]=arr[i];
arr[i]=temp;
}
}
}
总结
- 冒泡排序需要两两比较,如果数组值比较多,比较次数成倍增长
- 再者外面还有一层循环,数组越长则时间复杂度越久