第二题:使用冒泡排序,实现如下的数组从小到大排序(升序)。
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
知识点补充:
冒泡排序原理:每次比较相邻的两个元素,如果前面的元素值比后面的元素值大,就将前面的数(大的)交换到后面(小的数交换到前面),每轮(即每次冒泡)结束后最大的数交换到最后。
程序分析:
(1)每次比较相邻两数。第0轮,比较了7次;第1轮,比较了6次;第2轮,比较了5次;第3轮,比较了4次;第4轮,比较了3次;第5轮,比较了2次;第6轮,比较了1次;总共8个数字,比较了7轮。(因为数组下标从0开始,为了后面方便写循环代码,这里第0轮表示第一轮开始。)
(2)从上面分析可以发现,数字个数为n,轮数为n-1(即数组长度-1),每轮比较次数为