4.8、冒泡排序(重要)
冒泡排序的基本思想:通过对待排序序列从前向后,依次比较相邻元素的排序码,若发现逆序则交换,使排序码较大的元素逐渐从前部移向后部。
因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序, 因此要在排序过程中设置一个标志swap判断元素是否进行过交换。从而减少不必要的比较。
![](https://video-community.csdnimg.cn/vod-84deb4/9d842eaec7524d778643c4c0c433a4aa/snapshots/d92880ee7f994b9d8f51c87f47655a5e-00005.jpg?auth_key=4816078263-0-0-317db27d69ecaa933d0aaebab8f704d0)
冒泡排序1
练习
package ArrayTest.java;
public class BubbleSortTest {
public static void main(String[] args) {
int[] arr = new int[]{43,32,76,-98,0,64,33,-21,31,99};
//冒泡排序
for (int i = 0; i < arr.length - 1; 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;
}
}
}
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i] + "\t");
}
}
}