Java-数组的排序:冒泡排序和选择排序

本文详细介绍了冒泡排序和选择排序的算法原理,冒泡排序通过多轮比较将最大元素逐步推向数组末尾,而选择排序每次找到最小值与未排序部分的第一个元素交换,提高效率。同时提供了Java代码实现,并展示了运行结果。
摘要由CSDN通过智能技术生成


一、冒泡排序和选择排序算法原理

1.冒泡排序:假设数组A中有n个元素,
第一轮循环:A[0]与A[1]比较,如果A[1]>A[0],则A[1]与A[0]交换位置,反之位置不变,然后A[1]与A[2]比较,以此类推直到A[n-2]与A[n-1]比较完,选出参与比较元素的最大元素放在A[n-1]的位置。
第二轮循环:除去上轮A[n-1]元素,其余元素继续比较,进行上面的操作,依旧选出参与比较元素中的最大元素,放在A[n-2]的位置。
总共进行n-1次循环,然后第一轮循环进行n-1次比较,第二轮循环进行n-2次比较,第n-1轮循环进行一次比较。

2.选择排序:每一次从这堆“参与比较的数据当中”
找到最小值,拿着这个最小值和“最前面的元素交换位置”。然后也是循环了n-1次,选择排序比冒泡排序好在:每一次的交换位置都是有意义的。

二、代码实现

1.冒泡排序

public class BubbleSort {
   
    public static void main(String[] args) {
   
        int[] arr = {
   3, 5, 8, 6, 9, 7};
        for (int i = arr.length-1; i >0 ; i
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小柏城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值