冒泡排序
冒泡算法:
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子
例子:从小到大进行排序6 | 4 | 8 | 5 | 3 | 1 |
第一次循环比较
第一次比较:3 > 1
结果:6 | 4 | 8 | 5 | 1 | 3 |
第二次比较:5 >1
结果:6 | 4 | 8 | 1 | 5 | 3 |
第三次比较:8 >1
结果:6 | 4 | 1 | 8 | 5 | 3 |
第四次比较:4 > 1
结果:6 | 1 | 4 | 8 | 5 | 3 |
第五次比较:6 > 1
结果:1 | 6 | 4 | 8 | 5 | 3 |
此时,一次循环结束。
之后以此类推共进行n-1次循环。
代码实现:
package paixu; public class MaoPao { public void sort(int[] arr){ int length = arr.length; for(int i = 0; i < length - 1; i++){ for(int j = 0; j < length - 1 - i; j ++){ if(arr[j] > arr[j+1]){ int temp; temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } public static void main(String args[]){ int arr[] = {1,3,5,8,4,6}; MaoPao m = new MaoPao(); m.sort(arr); for(int x : arr){ System.out.println(x); } } }