排序算法---冒泡排序

交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。
应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。

package test;
/**
 * 冒泡排序是将数组中相邻的2个元素进行比较,然后把比较小的放到前面。这样就是升序排序;
 * 把比较大的额放在前面就是降序排序。需要比较的次数是n次。
 * 它适合数据规模很小的时候,而且它的效率也比较低,时间复杂度是n2。
 * 稳定性上面:冒泡排序是稳定的,不会改变相同元素的相对位置。
 * @author duola
 *
 */
public class maoPaoSortTest {

    static void maopaosort(int []a){
        for(int i=0;i<a.length;i++){
            for(int j=1;j<a.length-i;j++){
                if(a[j-1]>a[j]){
                    swap(a,j-1,j);//交换位置,把小的放到前面
                }
            }
        }
    }

    static void swap (int [] s,int a,int b){
        int tmp=s[a];
        s[a]=s[b];
        s[b]=tmp;
    }

    public static void main(String [] args) {
        int [] array={1,4,2,5,6,32,3,2};
        maopaosort(array);
        for(int i=0;i<array.length;i++){
            System.out.print(array[i]+"\t");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值