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

这篇具有很好参考价值的文章主要介绍了冒泡排序(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。一个小白。后续有时间会更新其他排序。文章来源地址https://www.toymoban.com/news/detail-506414.html

到了这里,关于冒泡排序(Java)(完整代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 七大排序算法——希尔排序,通俗易懂的思路讲解与图解(完整Java代码)

    排序:所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 上述待排序的数中,有两个5。 将 前面 的5标记一个a, 将 后面 的5标记一个b。 通过算法进行排序后,这一组数就有序了, 但是要看两个相同的5的位置是否有改变。

    2024年02月03日
    浏览(39)
  • 七大排序算法——堆排序,通俗易懂的思路讲解与图解(完整Java代码)

    排序:所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 上述待排序的数中,有两个5。 将 前面 的5标记一个a, 将 后面 的5标记一个b。 通过算法进行排序后,这一组数就有序了, 但是要看两个相同的5的位置是否有改变。

    2024年02月16日
    浏览(23)
  • 七大排序算法——归并排序,通俗易懂的思路讲解与图解(完整Java代码)

    排序:所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 上述待排序的数中,有两个5。 将 前面 的5标记一个a, 将 后面 的5标记一个b。 通过算法进行排序后,这一组数就有序了, 但是要看两个相同的5的位置是否有改变。

    2024年02月15日
    浏览(38)
  • python排序算法 ——冒泡排序(附代码)

    相关知识来自《python算法设计与分析》。初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒泡排序3种。虽然它们的效率相对于高级排序算法偏低,但是在了解初级排序算法之后,再去学习相对复杂的高级排序算法会容易许多。

    2024年02月04日
    浏览(25)
  • C++冒泡排序代码实现

    冒泡排序是一组数据元素中的相邻元素两两比较,如果满足前一个元素(i)比后一个元素(i+1)大则这两个元素交换,否则向后比较元素(i+1)和元素(i+2),这只是一轮排序。有n个元素需要排n-1轮,每一轮的排序都不用比较之前已经排好的数据,所以第i轮的比较次数为(n-i-1)次。(个人

    2024年02月16日
    浏览(29)
  • 用Python实现快速排序和冒泡排序,代码+详细解析

    1、冒泡排序         冒泡排序:每一次相邻的两个数做比较,大的往后移动一位,每次循环都会把最大的值(升序)或最小的值(降序)放在末端 。 2、快速排序         快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地

    2024年02月11日
    浏览(34)
  • Java实现:选择排序、冒泡排序、插入排序

    本文我们将使用Java编程语言实现经典的选择排序、冒泡排序和插入排序算法,并用对数器进行测试。 选择排序的基本思想是:遍历数组,每次找到数组中最小的元素,将其放到数组的前端。接着,在剩余的元素中继续寻找最小的元素,将其放在已找到的最小元素之后。重复

    2024年02月02日
    浏览(23)
  • Java 与排序算法(1):冒泡排序

    冒泡排序(Bubble Sort)是一种简单的排序算法,它的基本思想是通过不断交换相邻两个元素的位置,使得较大的元素逐渐往后移动,直到最后一个元素为止。冒泡排序的时间复杂度为 O ( n 2 ) O(n^2) O ( n 2 ) ,空间复杂度为 O ( 1 ) O(1) O ( 1 ) ,是一种稳定的排序算法。 其实现过程

    2024年02月11日
    浏览(30)
  • 【Java】冒泡排序

    冒泡排序(bubble sort)是最基础的排序算法,它是一种基础的 交换排序 。它的原理就像汽水一样,汽水中常常有许多小气泡飘到上面。而冒泡排序这种排序算法的 每一个元素也可以像小气泡一样根据自身大小一点点地向着数组一端移动 。 那冒泡排序具体是如何移动的呢? 对于

    2024年02月10日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包