冒泡排序:以从小到大排序为例,数据两两比较,如果大,则交换,大的数据右移。直到选出最大的数据,以此类推。
举例:3,2,7,8,6
第一轮:
第一次:3和2比较,3>2,3和2交换。
2,3,7,8,6
第二次:3和7比较,没有交换。
第三次:7和8比较,不交换。
第四次:8和6比较,交换。8冒出来了!
2,3,7,6,8
第二轮:
第一次:2和3比较,不交换
第二次:3和7比较,不交换
第三次:7和8比较,交换。7冒出来了!
2,3,6,7,8
第三轮:
第一次:2和3比较,不交换。
第二次:3和6比较,不交换。6冒出来了!
第四轮:
第一次:2和3比较,不交换。3冒出来了!
写成代码:
我们需要两个变量:i和j。i控制轮数,j控制次数。
public static void main(String[] args){ int[] arr={3,2,8,5,6}; int max=0; for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[i]>arr[i+1]){ max=arr[i]; arr[i]=arr[i+1]; arr[i+1]=max; } } } System.out.println(Arrays.toString(arr)); }
转载于:https://www.cnblogs.com/LightmanLu/p/11168096.html
