01_01_冒泡排序(Bubble Sort)

这篇具有很好参考价值的文章主要介绍了01_01_冒泡排序(Bubble Sort)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

冒泡排序(Bubble Sort)

冒泡排序(Bubble Sort)介绍:

是一种简单的排序算法。它通过多次遍历待排序的元素,比较相邻两个元素的大小,并根据需要交换它们的位置,从而将较大元素逐渐“冒泡”到最右侧,知道整个序列排序完成。

冒泡排序(Bubble Sort)原理:
  1. 从序列的第一个元素开始,依次比较相邻的两个元素。
  2. 如果前一个元素大于后一个元素,则交换这两个元素的位置。
  3. 继续向后比较,直到最后一个元素。此时,最大的元素已经“冒泡”到序列的末尾。
  4. 重复上述步骤,但忽略已经排序好的末尾元素,继续对剩余的元素进行比较和交换,直到整个序列排序完成。
Java 代码实现:
package com.algorithm.sort;

/**
 * 冒泡排序的原理可以描述如下:
 * <p>
 * 1.从序列的第一个元素开始,依次比较相邻的两个元素。
 * 2.如果前一个元素大于后一个元素,则交换这两个元素的位置。
 * 3.继续向后比较,直到最后一个元素。此时,最大的元素已经“冒泡”到序列的末尾。
 * 4.重复上述步骤,但忽略已经排序好的末尾元素,继续对剩余的元素进行比较和交换,直到整个序列排序完成。
 */

public class BubbleSort {

    /**
     * 冒泡排序算法实现
     *
     * @param arr 待排序数组
     */
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交换 arr[j] 和 arr[j+1] 的位置
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

    /**
     * 测试方法
     *
     * @param args todo
     */
    public static void main(String[] args) {
        int[] arr = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        System.out.println("排序后的数组:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
代码简单解释:

在上述代码中,bubbleSort 方法接受一个整数数组 arr 作为输入,并使用冒泡排序算法对其进行排序。main 方法中创建了一个示例数组 arr,并调用 bubbleSort 方法进行排序。最后,打印排序后的数组结果。文章来源地址https://www.toymoban.com/news/detail-493450.html

程序执行结果:
排序后的数组:
11 12 22 25 34 64 90 
Process finished with exit code 0
备注:
  • 这是冒泡排序算法的一个简单实现,它适用于小规模的数据排序。
  • 但是,由于冒泡排序的时间复杂度为O(n^2),它在处理大规模数据时效率较低,不适合大规模数据的排序任务。

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

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

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

相关文章

  • C#中sort排序相关用法介绍

     C#中,List.Sort() 不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数、多规则的复

    2024年02月15日
    浏览(57)
  • 十大排序算法之冒泡排序、快速排序的介绍

    个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【数据结构初阶(C实现)】 说起来冒泡排序,是我们接触到的最早的一个排序算法了,这次就当进行一个巩固提升了。冒泡排序还被称为 交换排序 。 冒泡排序: 它重

    2024年02月07日
    浏览(42)
  • 【数据结构】常见排序算法——常见排序介绍、选择排序(直接选择排序、堆排序)交换排序(冒泡排序)

      选择排序是一种简单但不高效的排序算法,其基本思想是从待排序的数据中选择最小(或最大)的元素放到已排序的数据末尾。具体操作步骤如下: (1)找到数据中最小的元素,并把它交换到第一个位置; (2)在剩下未排序的元素中找到最小的元素,并把它交换到已排

    2024年02月04日
    浏览(52)
  • 【数据结构】- 排序(详细介绍几种排序算法!!!*直接插入排序,*希尔排序,*选择排序,*堆排序,*冒泡排序,*快速排序,*归并排序)

    排序无处不在,所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 内部排序 :数据元素全部放在内存中的排序。 外部排序 :数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。 今天

    2024年01月20日
    浏览(59)
  • 【ARM 嵌入式 C 入门及渐进 10 -- 冒泡排序 选择排序 插入排序 快速排序 归并排序 堆排序 比较介绍】

    C语言中常用的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序。下面我们来一一介绍: 冒泡排序 (Bubble Sort):冒泡排序是通过比较相邻元素的大小进行排序。如果当前元素比下一个元素大,就交换它们两个的位置。重复这个过程直到最后,最

    2024年02月07日
    浏览(35)
  • 排序算法(stable_sort(), sort())

    sort函数我相信大家都不陌生,今天介绍一个新的排序算法stable_sort stable_sort:稳定排序算法,维持相等元素的原有顺序。 假如我们定义一个字符串数组 这些字符串是按照字典序排列的,我们现在想要words按照单词长度从小到大重排的同时,还希望具有相同长度的元素按照字典

    2024年02月07日
    浏览(51)
  • P1177 【模板】排序(Sort排序)

    将读入的 N N N 个数从小到大排序后输出。 第一行为一个正整数 N N N 。 第二行包含 N N N 个空格隔开的正整数 a i a_i a i ​ ,为你需要进行排序的数。 将给定的 N N N 个数从小到大输出,数之间空格隔开,行末换行且无空格。 样例输入 #1 样例输出 #1 对于 20 % 20% 20% 的数据,有

    2024年02月10日
    浏览(38)
  • 【排序算法】堆排序(Heap Sort)

    堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 学习堆排序之前,有必要了解堆!若读者不熟悉堆,建议先了解堆(建议可以通过二叉堆,左倾堆,

    2024年02月01日
    浏览(68)
  • java冒泡排序(含冒泡排序代码)

    目录 一:冒泡排序思想 二:冒泡排序代码 三:结果  

    2024年02月14日
    浏览(42)
  • 选择排序(Selection Sort)

    选择排序(Selection Sort)是一种简单直观的排序算法,每次从未排序部分选择最小(或最大)的元素放置到已排序部分的末尾。 选择排序算法的步骤如下: 从未排序部分选择最小(或最大)的元素。 将选中的元素与未排序部分的第一个元素交换位置。 标记该元素为已排序部

    2024年02月16日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包