首页 > 其他分享 >冒泡排序

冒泡排序

时间:2024-10-23 09:42:49浏览次数:1  
标签:第一个 第二个 int 冒泡排序 Arrays 数大

一、冒泡排序的介绍

冒泡排序简单的来说就是将第一个数与第二个数进行比较,如果第一个数大就进行交换,这样比到最后就是这组数中最大数,下面将使用动画演示来展示冒泡排序

https://visualgo.net/en/sorting
这是一个可视化界面,可以详细的查看相关的排序动画。

二、代码进行演示

接下来我们详细的说一下冒泡排序

/*
    冒泡排序指的是,将数组里面的第一个数和第二个进行比较,如果第一个数比第二个数大,就进行交换,(升序,反之则降序)
    一直到最后一个,这样第一轮循环就保证了最后一个元素是最大的

 */

import java.util.Arrays;

public class MopaoTest2 {
    public static void main(String[] args) {
        int a[] = {7, 6, 5, 4, 3, 2, 1, 8, 23, 56, 21};
        System.out.println("排序前:" + Arrays.toString(a));
        for (int i = 0; i < a.length; i++) {
            for (int j = 1; j < a.length - i; j++) { //j的最大值会在每次循环的时候减一,这样可以减少循环次数,因为后面几个已经是有序的了
                //如果第一个数比第二个数大,就进行交换
                if (a[j - 1] > a[j]) {
                    int b = a[j];
                    a[j] = a[j - 1];
                    a[j - 1] = b;
                }
            }
        }
        System.out.println("排序后:" + Arrays.toString(a));

    }
}

标签:第一个,第二个,int,冒泡排序,Arrays,数大
From: https://www.cnblogs.com/ndmtzwdx/p/18494510

相关文章

  • 2023 ICPC Seoul Regional A. Apricot Seeds(Pjudge【NOIP Round #7】冒泡排序)
    题意一个序列,Q次询问一个区间[l,r],进行k轮冒泡后,求子区间[x,y]的和。(N<=1e6,Q<=5e5)冒泡定义为:fori=1ton-1:ifa[i]>a[i+1]:swap(a[i],a[i+1])考场想法:经典转01。110111000111000111111011100011100011111+1011100011100011111+1101100......
  • 【洛谷 P1116】车厢重组 题解(模拟+冒泡排序)
    车厢重组题目描述在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他......
  • 【洛谷 P1116】车厢重组 题解(模拟+冒泡排序)
    车厢重组题目描述在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他......
  • 冒泡排序(Bubble Sort)
    新人博主,创作不易,希望得到各位看官的三连支持!!!1、原理        冒泡排序是一种简单的排序算法,属于交换排序的一种。它通过重复地遍历待排序的数列,比较相邻的元素,如果它们的顺序错误就将它们交换过来。这个过程会重复进行,直到没有需要交换的元素位置,即数列已经排序完......
  • 必学的排序算法——冒泡排序
    目录前言一、什么是冒泡排序二、冒泡排序的的基本步骤三、冒泡排序的特点四、冒泡排序算法图解五、经典例题1.合并两个有序数组代码题解2.元素计数代码题解3.最后一块石头的重量代码题解六、结语前言冒泡排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛可......
  • 冒泡排序 (Bubble Sort) 详解
    一、概述冒泡排序(BubbleSort)是一种基础的排序算法,属于交换排序的一种。它通过重复遍历要排序的数列,比较相邻的元素并交换它们的位置,逐步将最大的(或最小的)元素“冒泡”到数列的末端,从而完成排序。冒泡排序的工作原理非常直观易懂,尽管它的性能并不算最优,但作为入门级的排序算法,它能......
  • 冒泡排序、插入排序、选择排序、归并排序、快速排序算法(C++实现)
    文章目录一、冒泡排序上浮法冒泡排序(从小到大排序)下浮法冒泡排序(从大到小排序)二、选择排序三、插入排序四、归并排序五、快速排序参考一、冒泡排序冒泡排序应该算是最经典最简单的排序算法,我一开始学习排序算法就是从冒泡排序开始入门的。冒泡排序算法的基本思路:(......
  • C代码随笔——冒泡排序
    题目:对一串乱序数字排序并且进行重复元素去重冒泡排序的基本规则:        比较相邻的元素。如果第一个比第二个大(升序排序),就交换它们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。重复以上的步骤,除了最后已......
  • 5.3 C#数组的基本操作与排序(数组赋值、最大最小值、冒泡排序、选择排序、Array类排序)
    文章目录5.3.1C#数组对象的赋值例5-5:通过循环给一维数组赋值例5-6:通过键盘输入给数组赋值5.3.2C#数组对象的输出例5-7:不同类型数组的输出5.3.3C#求数组中的最大(小)元素值例5-8:求数组中的最大值和最小值5.3.4C#数组排序1.使用Array类排序(例5-9)2.冒泡排序(例5-......
  • Java 冒泡排序 (Bubble Sort) ✨ 代码版 + Emoji讲解
    冒泡排序的基本思想就是让“大泡泡”不断往上浮,直到整个数组像泡泡浴一样排序好!......