冒泡排序(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; jarr[j+1]){temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}
把排序后的数组遍历输出
System.out.println("arr排序后:"); for(int i = 0; i
最后附上所有代码,最好自己先思考一下,不然很快忘记的。
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; jarr[j+1]){temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}} System.out.println("arr排序后:"); for(int i = 0; i
2022.8.26,我来更新一下冒泡排序啦!之前学的太肤浅了,想的太以为然了,殊不知,冒泡排序也是有一定难度的排序算法。
6.4 冒泡排序
基本介绍
冒泡排序(Bubble Sort)的基本思想是:通过对排序序列从前向后(从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换,使得值比较大的元素逐渐从前向后移动,就像水底下的气泡一样逐渐向上冒。
在一维数组中随机生成100个整数,并对其进行排序,将冒泡的方法封装成一个静态方法,可以在mian方法直接调用该方法进行对数组的排序。
package com.ldm.sort;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。一个小白。后续有时间会更新其他排序。
来源地址:https://blog.csdn.net/weixin_48544279/article/details/125802801
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341