基本思路:对一组要排序的元素列,依次比较相邻的两个元素,将小的放在前面,大的放在后面。每两个元素依次进行。直到完成一轮后,重复步骤直至没有元素可以进行交换为止。
时间复杂度:O(n²)
空间复杂度:O(1)
算法稳定性:稳定排序算法
实质:通过比较元素位置实现排序
代码实现:
public class sss {
public static void main(String[] args) {
int arr[] = new int [] {1,5,3,5,9,6,9,5};
sort(arr);
}
public static void sort(int[] arr) {
for(int i =0;i<arr.length;i++) {
for(int j =0;j<arr.length-1;j++) { //循环一次即可,因为最后一次只有一个数
if(arr[j] > arr[j+1]) {
int temp = arr [j];
arr[j] = arr[j+1];
arr[j+1] =temp;
}
}
}
System.out.print(Arrays.toString(arr));
}
}