前面讲过 选择排序 是基于元素比较的,现在这个是基于相邻元素比较的算法
算法描述:
使用从小到大的排序策略.
从最后一个元素开始,按照从后向前的方向,相邻元素之间进行比较,如果发现后一个元素比前一个元素小,则交换,直至数组结束,这样就可以找出最小的元素,放在第一个位置.
然后再次重复上面的策略,在剩下的元素中找到最小的元素放在第二个位置.
直至整个循环结束
算法实现为:
public class BubbleSort {
public static void main(String[] args) {
int[] nums = new int[]{1, 15, 3, 78, 34, 23, 46, 2, 8, 34, 57};
System.out.println("before insert sort "+ Arrays.toString(nums));
sort(nums);
System.out.println("after insert sort "+Arrays.toString(nums));
}
public static void sort(int[] arrays) {
int length = arrays.length;
for(int i=0; i< length; i++) {
for(int j = length -1; j>0; j--) {
if (arrays[j] < arrays[j - 1]) {
int temp = arrays[j];