冒泡排序
一、思路
每次比较相邻两个元素,如果第一个比第二个大就交换两个元素的位置;
每遍历一趟就找到一个最大的元素,每次遍历元素数都比上一次元素个数少一个,即那个最大的元素。
二、java代码实现
package sort;
import java.util.Arrays;
/*
* 冒泡排序是稳定的排序算法,稳定性是指待排序序列中具有相同关键字的多个数据,
* 在排序后如果它们的相对位置是不变的,那么这个排序算法就是稳定的
* 冒泡排序的时间复杂度是O(n)
*
*/
public class BubbleSort {
public static void main(String[] args){
int[] arr = {9,8,7,6,5,4,3,2,1};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void bubbleSort(int[] arr){
for(int i=1;i<arr.length;i++){
for(int j=0;j<=arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
//交换位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}