首页 > 代码库 > 冒泡排序

冒泡排序

package com.eduask.test;

public class 冒泡排序 {
 /**
  * 对一个一维数组进行冒泡排序
  * ???什么是冒泡
  *
  * 两两相交,两两比较,高的上浮
  *
  */
 public static void main(String[] args) {
  
  int [] nums = {11,56,2,5,99,101};
  
  System.out.println("未排序:");
  for(int i = 0;i<nums.length;i++){
   System.out.print(nums[i]+"\t");
  }
  
  for(int i = 0;i<nums.length-1;i++){  //外层控制的轮数
   System.out.println("第"+(i+1)+"轮:");
   //内层控制比较次数
   for(int j = 0;j<nums.length-i-1;j++){
    //比较 数组的第j位 和j+1位比较  
    if(nums[j]<nums[j+1]){
     //定义变量,完成位置交换
     int temp = nums[j+1];
     nums[j+1] = nums[j];
     nums[j] = temp;
    }
    
    System.out.print("第"+(j+1)+"次\t");
    for(int k = 0;k<nums.length;k++){
     System.out.print(nums[k]+"\t");
    }
    System.out.println();
   }
  }
  
  System.out.println();
  
  System.out.println("已排序:");
  for(int i = 0;i<nums.length;i++){
   System.out.print(nums[i]+"\t");
  }
  
  
  
 }
/**
 *我们第一排   5个人  
 * 比较4轮
 * 第一轮:4
 * 第二轮:3
 * 第三轮:2
 * 第四轮:1
 *
 *
 */
}

冒泡排序