一、冒泡排序和选择排序算法原理
1.冒泡排序:假设数组A中有n个元素,
第一轮循环:A[0]与A[1]比较,如果A[1]>A[0],则A[1]与A[0]交换位置,反之位置不变,然后A[1]与A[2]比较,以此类推直到A[n-2]与A[n-1]比较完,选出参与比较元素的最大元素放在A[n-1]的位置。
第二轮循环:除去上轮A[n-1]元素,其余元素继续比较,进行上面的操作,依旧选出参与比较元素中的最大元素,放在A[n-2]的位置。
总共进行n-1次循环,然后第一轮循环进行n-1次比较,第二轮循环进行n-2次比较,第n-1轮循环进行一次比较。
2.选择排序:每一次从这堆“参与比较的数据当中”
找到最小值,拿着这个最小值和“最前面的元素交换位置”。然后也是循环了n-1次,选择排序比冒泡排序好在:每一次的交换位置都是有意义的。
二、代码实现
1.冒泡排序
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {
3, 5, 8, 6, 9, 7};
for (int i = arr.length-1; i >0 ; i