A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

hydeyao

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© hydeyao 初级黑马   /  2019-6-25 23:17  /  981 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


使用冒泡排序方法对数组元素进行从小到大排序

冒泡排序算法的原理如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

冒泡排序方法实现

//冒泡排序
    public static int[] sort(int[] arr) {
        for (int j = 0; j < arr.length - 1; j++) {
            for (int i = 0; i < arr.length - 1 - j; i++) {
                if (arr[i] > arr[i + 1]) {
                    int temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        return arr;
    }
通过该方法可以实现将数组进行排序并将排序好的数组返回;
以下为在整个程序中的实现

package homework;

import java.util.Scanner;

public class Test05 {
    public static void main(String[] args) {
        int[] arr = input(); //向数组中输入数据
        arr = sort(arr);//冒泡排序
        print(arr);//遍历数组并输出
    }
//向数组中输入数据
    public static int[] input() {
        int[] A = new int[5];
        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < 5; i++) {
            System.out.println("输入第" + (i + 1) + "个数");
            A[i] = sc.nextInt();
       }
        return A;
    }

    //冒泡排序
    public static int[] sort(int[] arr) {
        for (int j = 0; j < arr.length - 1; j++) {
            for (int i = 0; i < arr.length - 1 - j; i++) {
                if (arr[i] > arr[i + 1]) {
                    int temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        return arr;
    }
//打印输出
    public static void print(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");

        }
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马