简述冒泡排序
冒泡排序,就像是在水里的泡泡一样,一点一点地往上窜,直到露出水面。
而该算法就是在每一次的比较中把数列中最大的数像泡泡一样输出到数列的最左边,以此类推,就会形成一个顺序数列
例如 数列{3,5,2,1,7,6,4}
package sf;
import java.util.Arrays;
/**
* @author soldier
* @create 2021-10-21 14:02
*/
public class BubbleSort {
public static void main(String[] args) {
int[] arr={5,3,7,4,67,2,9,1,8,45,32};
bubble(arr);
System.out.println(Arrays.toString(arr));
}
public static void bubble(int[] arr)
{
for (int i=0; i<arr.length-1; i++) //i为比较总轮数,如8个数,两两比较,
//就需要比较7轮,因为索引是从0开始,0-6则为7轮
{
for (int j = 0; j< arr.length-i-1; j++) { //j< arr.length-i-1 同理,j为每一轮中两两比较的次数,比较的次数随着轮数的增大而减少
if (arr[j] > arr[j+1])
{
swap(arr,j,j+1);
}
}
}
}
public static void swap(int[] arr,int n,int m)
{
int temp=arr[n];
arr[n]=arr[m];
arr[m]=temp;
}
}