推荐我平时练习代码的工具,不用打开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)(完整代码)相关推荐

  1. N皇后(Java完整代码+最简单直观解析)

    超经典的动态规划算法,超级能扩宽脑筋,应用场景超极广 题目: 解题思路: (1)第一步是马上构思一个N*N的棋盘,可以用一个二维数组char[][] chessboard实现,可以先初始化这个棋盘全部 ...

  2. 经典KMP算法C++与Java实现代码

    前言: KMP算法是一种字符串匹配算法,由Knuth,Morris和Pratt同时发现(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.比 ...

  3. 万年日历思路加完整代码

    1.如何判断闰年 解决哪些年是365天,哪些年是366天 能被4整除且不能被100整除 或者 可以被400整除 编写方法给定年份,返回该年共有多少天 /*** * @param year 传入的年份* ...

  4. java做a_Java编程实现A*算法完整代码

    前言 A*搜寻算法俗称A星算法.这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法.常用于游戏中 通过二维数组构建的一个迷宫,"%"表示墙壁,A为起点,B为终点,&qu ...

  5. 经典十大排序算法(含升序降序,基数排序含负数排序)【Java版完整代码】【建议收藏系列】

    经典十大排序算法[Java版完整代码] 写在前面的话 十大排序算法对比 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 插入排序 希尔排序 计数排序 桶排序 基数排序 完整测试类 写在前面的话   ...

  6. 把一个数组的值存入二叉树中,然后利用前序、中序、后序3种方式进行遍历(完整代码以及运行结果)(Java)

    把一个数组的值存入二叉树中,然后利用前序.中序.后序3种方式进行遍历(完整代码以及运行结果) 在最近的面试过程中,听说有小伙伴被面试官要求创建二叉树,然后对该二叉树进行遍历,感觉这一直以来都是一个大家 ...

  7. 车辆入库java程序_java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,...

    java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,需要自行制作中心服务器,中心服务器代码在本人另一实例里面,请自行下载 [实例简介] 扫描入库及出库,基于谷歌类开发.仅提供完整代 ...

  8. java实现红包要多少钱_Java实现抢红包算法,附完整代码(公平版和手速版)

    当我们在群里抢红包时真的是手速越快红包金额越大吗? 答案当然是并不是,都说了是拼手气,岂能是拼手速! 不过也可以有拼手速的方法 二倍均值法(公平版) 这是一种很合理很公平的抢红包算法了,绝对不会让你拼 ...

  9. Java web+MySQL编写简易候选人投票(完整代码)

    Java web+MySQL编写简易候选人投票(完整代码) 代码实现效果,自己选的图片太大了,没有做更改,将就看就行 项目用到的三个jar包自己导入就行 代码结构如下图 Candidate中的代码 p ...

  10. Java网络编程 Socket、ServerSocket 详解,方法介绍及完整代码示例

    Java网络编程 Socket.ServerSocket 详解,方法介绍及完整代码示例 概念 什么是网络编程? 网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络连接起来.当这些通过网络 ...

最新文章

  1. 图解Python算法
  2. CUDA error: an illegal memory access was encountered
  3. python映射类型-Python 映射类型字典dict操作定义
  4. Git中的日常使用 码云
  5. Android系统手机端抓包方法(tcpdump)
  6. c# out原理 ref_移植贪吃蛇——从C#到C++
  7. 【java笔记】函数式接口
  8. PHP设计模式——建造者模式
  9. Linux_Shell符号及各种解释对照表
  10. 一级市场,退出有多难?
  11. J2EE 第二阶段项目之JUnit4进行单元测试(五)
  12. Axure8.0基础教程
  13. Oracle进阶(六)包(Package)和包体
  14. JQuery-Snowfall降雪插件使用
  15. iphone 存图片和视频到iPhone相册
  16. ping 请求超时是什么原因呢?
  17. WPS office根目录在哪?_wps和office的区别是什么
  18. sql中limit后参数有引号_mySql limit 函数后的参数是什么意思
  19. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
  20. 直播回顾丨年终业绩怎么冲?增长黑盒、有赞、网易云商联合给你支招啦

热门文章

  1. Keytool 简述
  2. HTML5+CSS大作业——宝马轿车网页设计(6页) web前端设计与开发期末作品/期末大作业
  3. 新手CrossApp 之CollectionView小结
  4. Java系统程序员修炼之道
  5. oracle dmp 编码问题,Oracle imp导入dmp文件时 IMP-00038:无法转换为环境字符集句柄
  6. mega软件 linux,Linux系统下使用MegaCli软件对磁盘阵列进行操作
  7. 计算机音乐谱大全极乐净土,极乐净土maria曲谱
  8. 摩尔庄园手游服务器链接不稳定,摩尔庄园手游公测常见问题解决方法一览
  9. 利用js打开新页面,每次打开都是同一窗口
  10. 小米便签开源项目本地环境搭建与分析