冒泡排序(Java实现)
冒泡排序:作为一个n^2级别的排序算法,属于面试必问算法题目,效率较低,实现起来也很简单,它的核心思想其实就是通过一个循环去比较前一位是否比后一位大(或者小)判断成功就交换位置,每次内循环能找出一位最大或最小的元素所以需要把内循环去重复执行。
接下来是我的一些源码,供大家参考(还可以再优化):
private static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length-1; i++) {//比较最后一个元素不需要排序因为它就是最佳位置了
for (int j = 0 ; j < arr.length-1 - i ; j++) {//一次内循环进行一次排序就会找出一个最大或最小的元素,所以那个位置不需要再进行比较了
if (arr[j] > arr[j+1]) {//替换位置的条件
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}