黑马程序员技术交流社区

标题: 技术帖 [打印本页]

作者: hydeyao    时间: 2019-6-25 23:17
标题: 技术帖

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

冒泡排序算法的原理如下:
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] + " ");

        }
    }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2