admin管理员组

文章数量:1794759

冒泡排序(Java)(完整代码)

冒泡排序(Java)(完整代码)

 

 推荐我平时练习代码的工具,不用打开eclipse或者idea那么麻烦。

菜鸟工具

冒泡排序无非就是俩个for循环。

内嵌的for是用来求出当前数组最大或最小的那个元素

第一for是用来循环查找次最大的元素直到全部排序好。

先静态化创建数组

int[] arr = {18,13,50,15,4,17,18};

先把没排序的数组输出来,用来下次排好序比较

System.out.println("arr的排序前:\\n18 13 50 15 4 17 18 ");

创建一个临时变量来辅助比较。

int temp = 0;

准备工作做好之后就可以排序了。

for(int i = 0 ;i< arr.length -1; i++){ for(int j = 0; j<arr.length-1-i; j++){ if(arr[j]>arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } }

把排序后的数组遍历输出

System.out.println("arr排序后:"); for(int i = 0; i<arr.length; i++){ System.out.print(arr[i]+"\\t"); }

最后附上所有代码,最好自己先思考一下,不然很快忘记的。

 

public class HelloWorld { public static void main(String []args) { int[] arr = {18,13,50,15,4,17,18}; System.out.println("arr的排序前:\\n18 13 50 15 4 17 18 "); int temp = 0 ; for(int i = 0 ;i< arr.length -1; i++){ for(int j = 0; j<arr.length-1-i; j++){ if(arr[j]>arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } System.out.println("arr排序后:"); for(int i = 0; i<arr.length; i++){ System.out.print(arr[i]+"\\t"); } } }

2022.8.26,我来更新一下冒泡排序啦!之前学的太肤浅了,想的太以为然了,殊不知,冒泡排序也是有一定难度的排序算法。

6.4 冒泡排序

基本介绍

冒泡排序(Bubble Sort)的基本思想是:通过对排序序列从前向后(从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换,使得值比较大的元素逐渐从前向后移动,就像水底下的气泡一样逐渐向上冒。

在一维数组中随机生成100个整数,并对其进行排序,将冒泡的方法封装成一个静态方法,可以在mian方法直接调用该方法进行对数组的排序。

package com.ldm.sort; ​ /** * @author 梁东明 * 2022/8/26 * 人生建议:看不懂的方法或者类记得CTRL + 点击 看看源码或者注解 * 点击setting在Editor 的File and Code Templates 修改 */ public class BubbleSort { public static void main(String[] args) { //int[] arr= {3, 8, 1, 17, 9, 13}; //给有100个乱序数据的数组插入数据 int[] randomArray = new int[100]; //插入数据当然要遍历啦!!! for (int i = 0; i < randomArray.length; i++) { //如果不会使用Math接口的方法,不用担心 //我会在文章的尾部提供JDK8相关的官方接口文档,直接搜索查看就行啦!!! randomArray[i] = (int)(Math.random()*100); //随机生成0-100的随机数 } BubbleSortMethod(randomArray); ​ } public static void BubbleSortMethod(int[] arr){ System.out.println("排序之前"); //遍历输出数组 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\\t"); } int temp = 0; for (int i = 0; i < arr.length-1; i++) { for (int j = 0; j < arr.length-1 -i; j++) { if (arr[j] > arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } ​ System.out.println("\\n"+"排序之后"); //遍历输出数组 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\\t"); } ​ } } ​

JDK8的官方API说明文档、有需要的同学可以下载来学习。

链接: 提取码:xxdm

你好,我是 hello,word。一个小白。后续有时间会更新其他排序。

本文标签: 完整代码java