冒泡排序
排序原理
数组元素两两比较,交换位置,大元素往后放,那么经过一轮比较后,最大的元素,就会出现在最大索引处。
package sort;
import java.util.Arrays;
//比较多少轮,每轮比较几次
public class BubbleSort {
public static void main(String[] args){
int[] arr=new int[] {6,7,2,9,4,1,0,5,3};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
//交换数组元素
public static void swap(int arr[],int a,int b){
arr[a] = arr[a] + arr[b];
arr[b] = arr[a] - arr[b]; //把arr[a]赋值给arr[b]
arr[a] = arr[a] - arr[b]; //剩下的就是arr[a]
}
//冒泡排序
public 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]){
swap(arr,j,j+1);
}
}
}
}
}