排序算法之冒泡排序

本文介绍了冒泡排序算法的实现细节,包括其工作原理和Java代码示例。通过示例代码展示了如何在实际项目中应用排序算法,以优化数据处理效率。冒泡排序的时间复杂度为O(n²),空间复杂度为O(1)。理解并运用高效的排序算法对于节省系统资源和提高代码运行速度至关重要。
摘要由CSDN通过智能技术生成

一 :在项目中可能会因为处理某些数据会需要用到排序算法,比如大屏项目,会从数据库中查找一些数据,并展示在页面上;良好的算法可以节省系统资源的开销,比如java开发,对象都存在堆中,如果对象比较大,消耗的内存就比较大,算法还可以俭省时间上代码的运行;这里简单介绍一下冒泡排序。

public class BubbleSort {

    public static void main(String[] args){
        int[] a = {4,1,8,9,2,7,3,6,12};
        bubbleSort(a,a.length);

    }
   public static void bubbleSort(int a[], int len) {
        //1代表交换,0代表未交换
        int flage=1;
        int x;
        int l=len;
        while (l>1 ){
            //初始化无交换
            flage=0;
            for(int j=0;j<l-1;j++){
                if (a[j]>a[j+1]){
                    flage=1;
                    x=a[j];
                    a[j]=a[j+1];
                    a[j+1]=x;
                }
            }
            l--;
        }

       for (int i=0;i<a.length;i++){
           System.out.print(a[i]);
       }
    }
}

二:排序原理:

1.将第n个数与n+1个数比较;n从1开始;如果n位置的数大于n+1位置的数,交换,否则不交换;n从1到n完成一轮比较操作;把最大数放在n的位置上;n做减1;

2.对n-1个数进行第二轮排序;最大数放在n-1位置上;

3.重复上述过程,直到在一趟排序过程中没有发生交换为止;

三:时间复制度和空间复杂度

T(n)=O(n²)
S(n)=O(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值