【数据结构】实现冒泡排序算法(Java语言)

冒泡排序

  • 编程实现冒泡排序函数。public static void bubbleSort(int arr[])。其中arr存放待排序的数据,数组长度不大于1000
  • 函数接口定义:

/* 对长度为n的数组arr执行冒泡排序 */

public static void bubbleSort(int arr[]);

请实现bubbleSort函数,使排序后的数据从小到大排列。

c 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] arr = new int [n];
        for(int i = 0; i < n; i ++) {
            arr[i] = scanner.nextInt();
        }
        scanner.close();
        bubbleSort(arr);
        print(arr);         
    }
    public static void print(int[] arr) {
        for (int i : arr) {
            System.out.print(i + " ");
        }
        System.out.println("");
    }

	// ---------------------------------------------------------------------------
    // 【实现代码如下】
    // 排序函数
	public static void bubbleSort(int arr[]) {
	    // 获取数组的长度
	    int n = arr.length;
	    // 外层循环控制排序需要进行的轮数,每完成一轮,最大的元素会被放到正确的位置
	    for (int i = 0; i < n - 1; i++) {
	        // 内层循环控制每轮需要进行比较的次数,随着排序的进行,比较次数逐渐减少
	        for (int j = 0; j < n - i - 1; j++) {
	            // 比较相邻两个元素,如果前面的元素大于后面的元素,则交换它们的位置
	            if (arr[j] > arr[j + 1]) {
	                // 进行元素交换
	                int temp = arr[j];
	                arr[j] = arr[j + 1];
	                arr[j + 1] = temp;
	            }
	        }
	    }
	}
}
相关推荐
2025年一定要上岸3 分钟前
【日常学习】10-15 学习re
学习·算法·正则表达式
好家伙VCC7 分钟前
**发散创新:探索群体智能编程中的新境界**随着科技的飞速发展,群体智能逐渐成为编程领域的一大研究热点。本文将深入探讨群体智能的概念、优
java·python·科技
aramae17 分钟前
数据结构与算法(递归)
开发语言·经验分享·笔记·算法
小欣加油19 分钟前
leetcode 329 矩阵中的最长递增路径
c++·算法·leetcode·矩阵·深度优先·剪枝
秉承初心21 分钟前
Java 23种设计模式的详细解析
java·设计模式
Emilia486.22 分钟前
【Leetcode&nowcode&数据结构】单链表的应用(初阶)
c语言·数据结构·算法·leetcode
千码君201625 分钟前
Go语言:记录一下Go语言系统学习的第一天
java·开发语言·学习·golang·gin·并发编程·编译语言
聪明的笨猪猪27 分钟前
Java 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
MrSYJ1 小时前
学完涨工资的技巧2:Spring Authorization Server如何签发JWTToken
java·spring boot·微服务
珹洺1 小时前
Java-Spring入门指南(二十六)Android Studio下载与安装
java·spring·android studio