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

冒泡排序

时间:2023-08-16 16:24:04浏览次数:36  
标签:temp int 冒泡排序 flag array public

冒泡排序

-   时间复杂度为O(n2)
public class Demo {

    public static void main(String[] args) {
        int[] a = {3,23,12,3,423,22,4,534,66,34};
        System.out.println(Arrays.toString(sort(a)));
    }

//    冒泡排序
//    1 比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换它们的位置
//    2 每次比较,都会产生一个最大,或者最小的数字
//    3 下一轮则,可以少一次排序
//    4 依次循环,

    public static int[] sort(int[] array){
        int temp;
//        外层循环
        for (int i = 0; i < array.length - 1; i++) {
            boolean flag = false;
//            如果第一个位置比第二个大,则交换位置
            for (int j = 0; j < array.length - 1 - i; j++) {

                if (array[j+1] > array[j]){
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                    flag = true;
                }

            }

            if (!flag){
                break;
            }

        }

        return array;
    }


}

标签:temp,int,冒泡排序,flag,array,public
From: https://www.cnblogs.com/wpw1215/p/17635404.html

相关文章

  • 冒泡排序
    #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("......
  • 冒泡排序(简单概叙)
    #include<stdio.h>voidbubble_sort(inta[],intc){inte=0;for(e=0;e<c-1;e+=1){inth=0;intf=0;for(f=0;f<c-1-e;f+=1){if(a[f]>a[f+1])//如果换成变量e会怎么样?......
  • 洛谷 P8500 - [NOI2022] 冒泡排序
    显然将权值离散化是没有问题的,因为必然存在一组最优解,满足每个\(a_i\)都取自于某个\(V_i\),于是不管三七二十一先将\(V_i\)离散化了再说。考虑从部分分入手逐步分析这道题:特殊性质A:\(V_i=1\)相当于这个区间中的数必须是\(1\),先将这些数去掉不管,紧接着考虑\(V_i=0\)的......
  • 冒泡排序
    defbubble_sort(nums):  n=len(nums)  foriinrange(n-1):    forjinrange(n-i-1):      ifnums[j]>nums[j+1]:        nums[j],nums[j+1]=nums[j+1],nums[j]nums=[5,3,8,2,1]print("排序前:",nums)bubble_sort(......
  • 冒泡排序原理推导
    与前一项比大小arr=[4,3,2,1]n=len(arr)foriinrange(0,n-1):#如果n=0,1;range输出空表格,不进行for循环print('第{}遍'.format(i+1))forjinrange(1,n-i):ifarr[j-1]>arr[j]:arr[j-1],arr[j]=arr[j],arr[j-1]arr与后一项......
  • 算法-06-冒泡排序
       importrandomdefbubble_sort(li):foriinrange(len(li)-1):forjinrange(len(li)-i-1):ifli[j]>li[j+1]:li[j],li[j+1]=li[j+1],li[j]li=[random.randint(0,20)foriinrange(15)......