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

2年前 (2022) 程序员胖胖胖虎阿
251 0 0

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

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

菜鸟工具

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

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

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

先静态化创建数组

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

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

 System.out.println("arr的各个元素是:18  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的各个元素是:18  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。一个小白。后续有时间会更新其他排序。

版权声明:程序员胖胖胖虎阿 发表于 2022年10月13日 下午1:32。
转载请注明:冒泡排序(Java)(完整代码) | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...