冒泡排序,
实现原理:
比较两个相邻位数的元素, 将较大的元素交换到右端或左端, 最大的元素就在最右端或是最左端;
从小 --> 大
- public class MaoPao {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner sc= new Scanner(System.in);
- int [] num = new int [5];
- for (int i = 0; i <num.length; i++) {
- System.out.println("开始输入第"+(i+1)+"个数");// 输入 5 个整数
- num[i]=sc.nextInt();
- }
- for (int i = 0; i < num.length; i++) {
- System.out.print(num[i]+",");// 冒泡之前
- }
- System.out.println(" ");
- System.out.println("开始冒泡");
- for (int i = 0; i < num.length-1; i++) {
- for (int j = 0; j < num.length-1-i; j++) {
- if (num[j]>num[j+1]) {
- int temp=num[j+1];
- num[j+1]=num[j];// 交换位置
- num[j]=temp;
- }
- }
- }
- for (int i = 0; i <num.length; i++) {
- System.out.print(num[i]+","); // 冒泡之后
- }
- }
从大 --> 小
- public class MaoPao {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner sc= new Scanner(System.in);
- int [] num = new int [5];
- for (int i = 0; i < num.length; i++) {
- System.out.println("开始输入第"+(i+1)+"个数");// 输入 5 个整数
- num[i]=sc.nextInt();
- }
- for (int i = 0; i < num.length; i++) {
- System.out.print(num[i]+",");// 冒泡之前
- }
- System.out.println(" ");
- System.out.println("开始冒泡");
- for (int i = 0; i < num.length-1; i++) {
- for (int j = 0; j < num.length-1-i; j++) {
- if (num[j]<num[j+1]) {
- int temp=num[j];
- num[j]=num[j+1];
- num[j+1]=temp;
- }
- }
- }
- for (int i = 0; i < num.length; i++) {
- System.out.print(num[i]+","); // 冒泡之后
- }
- }
来源: http://www.bubuko.com/infodetail-2871593.html