常见排序算法
1、冒泡算法
冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n 次,就完成了 n 个数据的排序工作。
public static void bubbleSort(int[] arr){
//如果只有一个元素就不用排序了
if(arr.length<2){
return;
}
for(int i=0;i<arr.length;i++){
// 提前退出冒泡循环的标志位,即一次比较中没有交换任何元素,这个数组就已经是有序的了
int flag=1;
/**
* 此处你可能会疑问的j<n-i-1,因为冒泡是把每轮循环中较大的数飘到后面,
* 数组下标又是从0开始的,i下标后面已经排序的个数就得多减1,总结就是i增多少,j的循环位置减多少
*/
for(int j=0;j<arr.length-1-i;j++){
if (arr[j]>arr[j+1]){
int tem=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tem;
flag=0;