Java的经典冒泡排序算法解析
算法思想:两两比较,并将更大的值交换顺序后移,就像冒泡,每次比较排序将更大的值后移。
代码如下:
public class Maopao {
public static void main(String[] args) {
int[] nums={2,7,25,13,6,8};
printArr(nums);
System.out.println("最初顺序");
int[] result=bubbleSort(nums);
printArr(result);
System.out.println("最后结果");
}
private static int[] bubbleSort(int[] nums){
int len=nums.length;
if(len==0||len==1){
return nums;
}
for(int i=0;i<len;i++){
for(int j=0;j<len-1-i;j++){
if(nums[j]>nums[j+1]){
int tmp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=tmp;
}
}
printArr(nums);
System.out.println("第几次排序"+ i);
}
return nums;
}
private static void printArr(int[] nums){
for(Integer item:nums){
System.out.print(item+";");
}
}
}
执行结果如下:
2;7;25;13;6;8;最初顺序
2;7;13;6;8;25;第几次排序0
2;7;6;8;13;25;第几次排序1
2;6;7;8;13;25;第几次排序2
2;6;7;8;13;25;第几次排序3
2;6;7;8;13;25;第几次排序4
2;6;7;8;13;25;第几次排序5
2;6;7;8;13;25;最后结果
