【十大排序算法之冒泡排序】


一、冒泡排序基本思想

  1. 设待比较元素总个数为n,用长度为n的数组存储。
  2. 那么数组下标为0~n-1。
  3. 相邻元素比较,大的往后移,小的往前排。
  4. 从下标为0和下标为1的元素开始比较,接着比较1,2,接着2,3…直到第一轮比较完,最后一个元素为此时整个待排序数列中最大的一个数。那么下轮比较只需要比较前n-1个元素即可。即数组下标只需要从0~n-2。
  5. 依次重复,直到最后一轮比较下标为0和下表为1的元素即完成冒泡排序。

二、代码示例

1.可能用到的函数

①交换函数

//交换a,b
/*void swap(int &a,int &b)
{
    int tamp=a;
    a=b;
    b=tamp;
}

*/

②foreach 循环函数

for(数据类型  变量名:数组名称)
{
      执行语句;
}

2.java实现

代码如下(示例):

public class Bubble_sort {                                           //定义类
        public static void main(String[] args) {                //主函数
            int[] ages = {96, 63, 125, 36, 22, 18, 64,100};  // 定义名为ages的实例数组
            for (int i = 0; i < ages.length - 1; i++) {         //从0到n-1轮比较
                for (int j = 1;j < ages.length-i; j++) {    //第一轮比较,从下标为j(1)和下标j-1(0)开始
                    if (ages[j - 1] > ages[j]) {                  //如果第一个元素(下标0)大于第二个元素(下标1)                                
                        int temp = ages[j];                       //则交换它们的位置。
                        ages[j] = ages[j - 1];
                        ages[j - 1] = temp;
                    }
                }
            }
            System.out.println("从小到大排序后的结果是:");  //在循环外进行输出从小到大排好序的元素。
            for(int i=0;i<ages.length;i++)
                System.out.print(ages[i]+" ");          //使用for循环 语句进行输出
        }
}

3.运行结果如下

运行结果

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

即兴@

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

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

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

打赏作者

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

抵扣说明:

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

余额充值