首页 > 代码库 > 冒泡排序
冒泡排序
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
*
*
*/
}
冒泡排序