八大排序(一)-------冒泡排序
从小到大的冒泡排序
冒泡排序是通过对待排序序列从前向后,依次比较相邻元素的值,如果逆序则交换顺序,使值大的元素移向后部。冒泡排序是一种稳定的算法,时间复杂度 O(n2)
下标从1开始
因为有10个数 所以外循环要循环10次 所以i = 10 i>0 i--
第一次要9趟 第二次8 第三次7
第一次 1 2 1 1+1 比较
第二次 2 3 2 2+1比较
第九次 9 10 j j+1 比较 所以j = 1 j<i
判断条件是 a[j] > a[j+1] 就交换位置
class MaoPao { int[] arr = {0,13, 14, 26, 7, 9, 22, 5, 8, 11,17}; public static void main(String[] args) { MaoPao mp = new MaoPao(); mp.maopao(); System.out.println("---------------分隔符--------------------"); mp.prin(); } void maopao(){ int i = 0; int j = 0; int temp = 0; // 为了下标从1开始 看的方便一点 for(i=10;i>0;i--){ //10次循环 设成10 是因为有10个数 方便理解 i=9;i>0 下面的j = 0;j <i 也可以 for(j = 1;j <i;j++){ //第一次只要9趟 每次都比i少1趟 if(arr[j]>arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } void prin(){ for (int i = 1 ; i < arr.length ; i++){ System.out.println(arr[i]); } } }