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

冒泡排序

时间:2023-08-28 18:11:16浏览次数:41  
标签:arr int 元素 冒泡排序 列表 排序

冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并根据需要交换它们的位置,直到整个列表排序完成为止。

具体步骤如下:

  • 从列表的第一个元素开始,比较它与下一个元素的大小。
  • 如果当前元素较大,则交换它与下一个元素的位置。
  • 继续向列表的下一个元素进行比较,重复上述步骤。
  • 重复执行上述步骤,直到没有需要交换的元素,即列表已经排序完成。
public static int[] bubbleSort(int[] arr) {
    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]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    return arr;
}

这个过程类似于气泡升到水面的过程,因此得名为冒泡排序。

冒泡排序的时间复杂度是O(n^2),其中n是列表的长度。尽管冒泡排序在大多数情况下效率较低,但对于小型数据集或基本有序的列表,它可能是一种简单有效的排序方法。

标签:arr,int,元素,冒泡排序,列表,排序
From: https://www.cnblogs.com/czarQ/p/17663089.html

相关文章

  • 交换排序:冒泡排序和快速排序的实现
    冒泡排序冒泡排序的定义:冒泡排序(BubbleSort)是一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,如果发生逆序,则进行交换,从而使关键字小的记录如气泡一般逐渐往上“漂浮”(左移),或者说使关键字大的记录如石块一样逐渐向下“坠落”(右移)。冒泡排序的代码#include......
  • DAY003_选择排序、冒泡排序、插入排序
    选择排序第一遍遍历:从头开始,找到最小值的坐标,将最小值和数组第一个元素对调第二遍遍历:从第二个元素开始,找到最小值的坐标,将最小值和数组第二个元素对调第三遍遍历:从第三个元素开始,找到最小值的坐标,将最小值和数组第三个元素对调....冒泡排序第一遍遍历:只要前数比后数大就交......
  • 快速排序,冒泡排序与选择排序
    冒泡排序冒泡排序(BubbleSort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成......
  • 冒泡排序
    publicstaticvoidbubbleSort(int[]arr){for(inti=0;i<arr.length-1;i++){for(intj=0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){inttemp=arr[j];arr[j]=arr[j+1];......
  • 冒泡排序
    冒泡排序-时间复杂度为O(n2)publicclassDemo{publicstaticvoidmain(String[]args){int[]a={3,23,12,3,423,22,4,534,66,34};System.out.println(Arrays.toString(sort(a)));}//冒泡排序//1比较数组中,两个相邻的元素,如......
  • 冒泡排序
    #include<iostream>usingnamespacestd;intmain(){intn;cin>>n;inta[n];for(inti=0;i<n;i++){ cin>>a[i]; }for(inti=1;i<n;i++){for(intj=1;j<=n-i;j++){if(a[j-1]<a[j]){......
  • 冒泡排序
    #include<iostream>usingnamespacestd;intmain(){intt,a[4];for(inti=1;i<=3;i++){cin>>a[i];}for(inti=1;i<=2;i++){for(intj=1;j<=3-i;j++){if(a[j]<a[j+1]){t......
  • 冒泡排序
    #include<iostream>usingnamespacestd;intmain(){intt,a[4];for(inti=1;i<=3;i++){cin>>a[i];}for(inti=1;i<=2;i++){for(intj=1;j<=3-i;j++){if(a[j]<a[j+1]){t......
  • 冒泡排序(LOW)
    博客地址:https://www.cnblogs.com/zylyehuo/#_*_coding:utf-8_*_importrandomdefbubble_sort(li):foriinrange(len(li)-1):exchange=Falseforjinrange(len(li)-i-1):ifli[j]>li[j+1]:li[j],li[j+1......
  • 王道408---冒泡排序、快速排序、直接插入排序、希尔排序、二路归并排序、简单选择排序
    一、冒泡排序冒泡排序属于交换类的排序//时间复杂度:O(n^2)//空间复杂度:O(1)//稳定排序算法#include<stdio.h>#include<iostream>usingnamespacestd;intarr[16];voiddebug(){for(inti=1;i<16;i++){printf("%d",arr[i]);}puts("......