冒泡排序Bubble sort ,冒泡排序是常见的排序算法,它的核心思想就是让相邻的元素进行比对,比对完了之后互换位置,第二个元素再和下一个比对然后互换位置,以此类推。
举例:1, 4, 3, 6, 8 ,5 如果用冒泡排序 那么就是先让第一个元素1 和第二个元素4 进行比较,然后发现4比较大,不用换位子,然后接着让第二个元素4和第三个元素3比较,3比4小,那么互换位置,然后再让第三个元素和第四个元素比较...
有没有发现一个现象,其实冒泡排序就是让每个位置上的元素和自己下一个位置上的元素进行比较。
其实就是第一个和第二个,第二个和第三个、第三个和第四个、第四个和第五个... 直到比到最后
package com.wgp.helloworld;
//冒泡排序思想是 :相邻的两个元素进行排序
//我喜欢是说成 是相邻位置的比较(比位置里面的值),每个位置都会和自己的下家比一下
public class BubbleSort {
public static void main(String[] args) {
int[] array = {1, 4, 6, 8, 3, 5};
//要比较的次数 一次就是每相邻的元素都要比一遍
for (int i = 0; i < array.length; i++) {
//每个相邻的元素 都比一次
for (int y = 0; y < array.length - 1 -i; y++) {
if (array[y] > array[y + 1]) {
int temp = array[y];
array[y] = array[y + 1];
array[y + 1] = temp;
}
}
}
//冒泡排序后的打印结果是134568
for (int e:array){
System.out.printf(e+"");
}
}
}
冒泡排序的特点就是 每次相邻两个比较后都会换位置 效率有点低,但是简单啊 哈哈
为什么叫冒泡? 我想应该是因为他的比较的特点是就是和你相邻的比,像气泡 看一个泡泡升到水面的快慢 我们一般都是习惯看 跟他挨着的泡泡🤣
网友评论