首页 > 代码库 > 新学的 冒泡排序
新学的 冒泡排序
import java.util.Scanner;
public class MaoPaoPaiXu {
public static void main(String[] args) {
Scanner input=new Scanner(System.in); //创建扫描器
System.out.print("数组长度:");
int num=input.nextInt(); //键盘录入数组长度
int[] nums=new int[num]; //定义数组
int i,j; //定义两个循环变量
int temp; //临时变量
for (int k = 0; k < nums.length; k++) {
System.out.print("第"+(k+1)+"个数:");
nums[k]=input.nextInt();
}
System.out.print("排序前:");
for (int k = 0; k < nums.length; k++) {
System.out.print(nums[k]+" ");
}
/**
* 冒泡排序(二重循环)
*/
for (int k = 0; k < nums.length-1; k++) { //控制比较多少轮
for (int k2 = 0; k2 < nums.length-1-k; k2++) { //将最大的元素换到最后
if (nums[k2]>nums[k2+1]) {
//交换元素
temp=nums[k2];
nums[k2]=nums[k2+1];
nums[k2+1]=temp;
}
}
}
System.out.print("\n排序后:");
for (int k = 0; k < nums.length; k++) {
System.out.print(+nums[k]+" ");
}
}
}
冒泡排序其实就是一种简单的交换排序。就是从头开始扫描待排序的元素,在扫描过程中依次对相邻的元素进行你比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
简单地说:
就是执行二重循环,比较的轮数就是外层循环的条件,比较的次数就是内层循环的条件
新学的 冒泡排序