java入门之冒泡排序

不要等待机会,而要创造机会

java入门之冒泡排序_第1张图片

目录

一、前言

二、冒泡排序的定义

1.概述

2.数组的遍历及打印输出

三、数组的排序方法

四、代码实现

1、编码实现

4.输出结果


一、前言

 与牛客的相知相遇:

一次偶然的机会我接触到了牛客网,从那次我就发现牛客网好像是一个全能型的网站,里面有各种语言的练习题、算法题、大厂的面试题、还有求职等各项功能。从那以后我就开始了我的牛客之旅。

链接我就放在这了需要的伙伴们自取注册即可免费刷题

二、冒泡排序的定义

1.概述

在操作数组时,经常需要对数组中的元素进行排序。

2.数组的遍历及打印输出

  • 特点:打印出数组排序前(后)的数组中的数

代码:

 public static void printArray(int[] arr) {
        for (int i = 0; i <= arr.length; i++) {//循环遍历数组的元素
            System.out.println(arr[i] + " ");
        }
        System.out.print("\n");
    }

三、数组的排序方法

下面通过几个步骤分析冒泡排序(以升序为例)的整个过程,具体如下。
第一步:从第一个元素开始,将相邻的两个元素依次进行比较,如果前一个元素比后一个元素大,则交换它们的位置,直到最后两个元素完成比较。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。
第二步:除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一步相似,这样就可以将数组
中第二大的元素放在倒数第二个位置。
第三步:依次类推,持续对越来越少的元素重复上面的步骤,直到没有任何一对元素需要比较为止。

四、代码实现

1、编码实现

public class Example {
    public static void main(String[] args) {
        int[] arr = {9, 8, 3, 5, 2};
        System.out.print("冒泡排序前: ");
        printArray(arr);                    //打印数组元素
        bubbleSort(arr);                    //调用排序方法
        System.out.print("冒泡排序后: ");
        printArray(arr);                    //打印数组元素
    }

    //定义打印数组元素的方法
    public static void printArray(int[] arr) {
        //循环遍历数组元素
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");   //打印元素和空格
        }
        System.out.print("\n");
    }

    //定义对数组排序的方法
    public static void bubbleSort(int[] arr) {
        //定义外层循环
        for (int i = 0; i < arr.length - 1; i++) {
            //定义内层循环
            for (int j = 0; j < arr.length - 1; j++) {
                if (arr[j] > arr[j + 1]) {   //比较相邻元素
                    //下面三行代码用于交换两个元素
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
            System.out.print("第" + (i + 1) + "轮排序后:");
            printArray(arr);
        }
    }

}

4.输出结果

java入门之冒泡排序_第2张图片

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

你可能感兴趣的:(java,java,开发语言)