1.冒泡排序
1)数组的冒泡排序:
对一个数组做升序排序:
public static void main(String[] args) {
int[] arr={15,7,155,2,54};
System.out.println(Arrays.toString(arr));
bubbleSort(arr);
System.out.println(Arrays.toString(arr));//数组转化为字符串打印出来
}
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {//比较的趟数
for (int j = 0; j < arr.length-i-1; j++) {//循环进行元素的比较交换//-1是因为防止越界
if(arr[j]>arr[j+1]){
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
}
2)优化
1.对于外循环:最后一次不需要比较,其他的都有序了,最后一个自然有序了,所以比较的趟数:for (int i = 0; i < arr.length-1; i++)
2.对于天然有序的数组集合,或者当走着走着发现某一趟没有元素交换,即arr[j]<arr[j+1],说明此时集合已经有序&#