冒泡排序、选择排序、快速排序

代码实现

冒泡排序、选择排序和快速排序是三种基本的排序算法。
冒泡排序、选择排序比较像,都是需要使用双重循环,区别就在于冒泡排序在内循环中需要将两个相邻的进行比较,比较之后符合条件还需要进行交换,而选择排序在外循环中就指定了一个元素作为标杆,在内循环中每个元素都和这个标杆进行比较,符合条件的会和外循环中的这个标杆元素进行交换而不是冒泡排序中的相邻两个交换,这样内循环执行外的时候就会得到一个最大或者最小的元素放在开头或者末尾的位置,当外循环执行完毕时整个数组就会成为一个有序数组。
而快速排序采用的是分而治之的思想,同时还需要用到递归的方法,主要就是通过选择一个元素,将比这个元素小的放到左边,比这个元素大的放到右边,这样就可以将元素分为左右两部分,然后再分别对这两部分进行分而治之和递归,即在这两部分中分别选中一个元素,将本部分的元素和选中的元素进行两两比较,小的仿左边,大的放右边,以此类推,直到划分的区间中只有一个元素,这样整个数组就完成了排序,所有的元素都是按照从小到大的顺序排列。
下面分别是冒泡排序、选择排序和快速排序的java代码实现。

  • 冒泡排序
int[] data1 = new int[]{100, 32, 43, 12, 324, 67, 87, 5, 20};
    int temp = 0;
        for (int i = 0; i < data1.length; i++) {//第几轮排序
            for (int j = 0; j < data1.length - i - 1; j++) {//内部的两两比较,此次循环后会将大的放在后面
                if
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值