冒泡排序
原理:
比较两个相邻的元素,将值大德元素交换至右端
思路:
核心排序思想:相邻两个数进行比较 交换位置
依次比较相邻的两个数,将小数放在前,大数放在后面.
即在第一趟:首先比较第1个和第二个数,倘若第二个数小于第一个数,则交换这两个数,如果第一个数小于第二个数,则不交换,
继续比较第二个数和第三个数,如此继续,直到比较最后两个数,不断重复上述步骤,直到全部排序完成
举例说明
*int[] array = new int[]{3,2,5,1};
*
*3 2 5 1
*第一趟 比较完毕 确定了一个最大值放在了最后面
* 第一次 2 3 5 1
* 第二次 2 3 5 1
* 第三次 2 3 1 5
*
* length-1-0
*
* 第二趟 比较完毕 确定了一个最大值
* 第一次 2 3 1 5
* 第二次 2 1 3 5
*
* length-1-1
*
* 第三趟
* 第一次 1 2 3 5
*
* length-1-2
代码实现
public static void main(String[] args) {
int[] array = {2,1,5,7,3,9,4};
for(int i = 0; i < array.length - 1; i++) {
for(int j = 0; j < array.length - 1 - i; j++) {
if(array[j] > array[j + 1]) {
int temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}
}
System.out.println(Arrays.toString(array));
}