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

冒泡排序 Bubble Sort

时间:2024-02-05 11:36:18浏览次数:40  
标签:Sort arr temp int 复杂度 元素 冒泡排序 Bubble

一种将无序数组,按递增/减顺序排序的方法

  • 从第一个元素和第二个元素开始,依次两两比较,当第n个元素小于第n+1个元素时,两元素交换位置。

  • 再从第二个和第三个元素开始重复上述动作直至遍历整个数组

时间复杂度: 最坏情况:O(N^2)        最好情况:O(N^2) 空间复杂度:O(1)
/**
 * @author 3DG
 * @Description 冒泡排序BubbleSort
 * @date 2024/2/5 11:01
 */
public class BubbleSort {
    public static void main(String[] args){
        int arr[] = {19,17,67,83,71};
        for(int i = 0; i <arr.length-1;i++){
            //遍历循环整个数组
            if(arr[i]>arr[i+1]){
                //当前一元素大于后一元素,两者交换位置
                int temp = arr[i];
                //定义temp,用于交换位置时存储arr[i]的值
                arr[i] = arr[i+1];
                arr[i+1] = temp;
            }
        }
        System.out.println(arr);
    }
}

 

标签:Sort,arr,temp,int,复杂度,元素,冒泡排序,Bubble
From: https://www.cnblogs.com/3-DG/p/18007642

相关文章

  • CF1730F Almost Sorted
    更好的阅读体验CF1730FAlmostSorted挺有意思的一道题。刚看到可能有好几种思路,按照\(p\)的大小填\(q\),或者按照下标顺序填等等。试了几次之后考虑按照\(i\)从小到大填入\(q_i\),设\(pos\)为当前填了的最大的\(p_{q_i}\),由于题目的要求,\(1\sim(pos-m-1)\)的所有数......
  • 无涯教程-sort()函数
    sort()方法对数组的元素进行排序。sort()-语法array.sort(compareFunction);compareFunction  - 指定一个定义排序顺序的函数。如果省略,则按字典顺序对数组进行排序。sort()-返回值返回一个排序数组。sort()-示例vararr=newArray("orange","mango",......
  • 冒泡排序
    importjava.sql.SQLOutput;importjava.util.Arrays;importjava.util.Scanner;//冒泡排序publicclasstest{publicstaticvoidmain(String[]args){int[]a={5,4,6,8,9,1,7,2,3};intarray[]=sort(a);System.out.println(Arrays.to......
  • Codeforces Round 799 (Div. 4)G. 2^Sort
    暴力枚举每一个端点然后去check显然是复杂度为\(O(n^2)\)是来不及的。我们考虑大区间满足小区间一定满足,用两个指针维护一下当前满足不等式的区间,然后长度达到就计算答案。思路很简单,主要是这类双指针的题目里面的一些细节需要注意为了更好写我们总是先维护区间然后再计算答......
  • c++结构体数组sort排序出错?(关于sort排序comp比较器的严格弱排序性质)
    在sort函数比较的时候,它会严格弱排序,比较a是否>=b,然后两个对象会进行交换,重新比较一遍,相当于这次比较的是b是否>=aa>=b?满足:trueb<=a?满足:true这样就出现了一个冲突,不管是a>=b还是b>=a都会返回true的情况,我们都知道sort中只要comp返回true,两个元素就会交换一次......
  • 冒泡排序法的写法
    冒泡排序法的代码如下:publicclassMyTest{publicstaticvoidmain(String[]args)throwsException{//使用冒泡排序法把数组按照升序排列int[]arr=newint[]{92,37,46,8,2};intlen=arr.length;for(inti=0;i<len-1;i++){//......
  • 学习unigui unidbgrid的GridsGroupingSorting【18】
    折腾一天,你不按照demo里的代码来,就是没有效果。procedureTUniGridsGroupingSorting.UniDBGrid1MultiColumnSort(Columns:TUniDBGridColumnArr;Directions:TUniSortDirections);varOrderStr:string;I:Integer;beginUniMainModule.ADOQuery5.Close;//必须在......
  • 关于SortableJS在handle模式下移动端无法拖拽的解决办法
    原因个人项目使用到了这个库,PC操作好好的,移动端一看不行,然后去官方github-issues查看搜mobile的issue,发现大家也会这样。找了一圈看了下,应该是handle(句柄)模式下,库没有做事件监听导致的。解决办法要么换个库,要么在移动端的时候,取消句柄模式即可。constwrapper:HTMLElement=......
  • C++实现直接插入排序、冒泡排序、快速排序、选择排序(含调试程序)
    #include<iostream>#include<fstream>#include<string>#include<vector>#include<algorithm>usingnamespace::std;classSolution{public: //直接插入排序 voidinsertsort(vector<int>&num){ for(inti=1;i<num......
  • 冒泡排序(2)
    #include<iostream>usingnamespacestd;structka{ stringname; intage; stringxin;};intmain(){ kaa[5]; kat; for(inti=0;i<5;i++){ cin>>a[i].name>>a[i].age>>a[i].xin; } for(inti=0;i<5;i++){for(int......