比较排序之冒泡排序的实现

 更新时间:2017年06月20日 08:02:49   投稿:jingxian  
下面小编就为大家带来一篇比较排序之冒泡排序的小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧实现。

冒泡排序可以说是在排序算法中最为入门级别的算法之一了。因为其简单易于理解,常在课堂中作为排序的入门算法。

冒泡排序见名生意,其排序过程如同水里的泡一般由下往上逐级递升。下图所示为冒泡排序过程:假设待排序序列为{10, 2, 11, 8, 7}

Java

package com.algorithm.sort.bubble;

import java.util.Arrays;

/**
 * 冒泡排序
 * Created by yulinfeng on 6/19/17.
 */
public class Bubble {
  public static void main(String[] args) {
    int[] nums = {10, 2, 11, 8, 7};
    nums = bubbleSort(nums);
    System.out.println(Arrays.toString(nums));
  }

  /**
   * 冒泡排序
   * @param nums 待排序数字序列
   * @return 排好序的数字序列
   */
  private static int[] bubbleSort(int[] nums) {

    for (int i = 0; i < nums.length; i++) {
      for (int j = 0; j < nums.length - i - 1; j++) {
        if (nums[j] > nums[j + 1]) {
          int temp = nums[j];
          nums[j] = nums[j + 1];
          nums[j + 1] = temp;
        }
      }
    }

    return nums;
  }
}

Python3

#冒泡排序
def bubble_sort(nums):
  for i in range(len(nums)):
    for j in range(len(nums) - i - 1):
      if nums[j] > nums[j + 1]:
        temp = nums[j]
        nums[j] = nums[j + 1]
        nums[j + 1] = temp
  
  return nums

nums = [10, 2, 11, 8, 7]
nums = bubble_sort(nums)
print(nums)

以上这篇比较排序之冒泡排序的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 老生常谈 java匿名内部类

    老生常谈 java匿名内部类

    下面小编就为大家带来一篇老生常谈java匿名内部类。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Java实现简易版猜灯谜游戏的示例代码

    Java实现简易版猜灯谜游戏的示例代码

    灯谜是中秋节传统的活动之一,而现代化的方式则是将其制作成一个小游戏,让用户在游戏的过程中猜灯谜,互动体验更佳,所以本文小编就用Java制作一款猜灯谜小游戏吧
    2023-09-09
  • SpringBoot在IDEA中实现热部署(JRebel实用版)

    SpringBoot在IDEA中实现热部署(JRebel实用版)

    这篇文章主要介绍了SpringBoot在IDEA中实现热部署(JRebel实用版),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Java线程使用同步锁交替执行打印奇数偶数的方法

    Java线程使用同步锁交替执行打印奇数偶数的方法

    这篇文章主要介绍了Java线程使用同步锁交替执行打印奇数偶数的方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 详解Spring Boot Mysql 版本驱动连接池方案选择

    详解Spring Boot Mysql 版本驱动连接池方案选择

    这篇文章主要介绍了详解Spring Boot Mysql 版本驱动连接池方案选择,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Java设计模式之静态工厂模式详解

    Java设计模式之静态工厂模式详解

    这篇文章主要介绍了Java设计模式之静态工厂模式,简单说明了静态工厂模式的概念、原理、实现与使用方法,需要的朋友可以参考下
    2017-09-09
  • java数据结构基础:算法

    java数据结构基础:算法

    这篇文章主要介绍了Java的数据解构基础,希望对广大的程序爱好者有所帮助,同时祝大家有一个好成绩,需要的朋友可以参考下,希望能给你带来帮助
    2021-07-07
  • 详解Java对象创建的过程及内存布局

    详解Java对象创建的过程及内存布局

    今天给大家带来的文章是Java对象创建的过程及内存布局,文中有非常详细的图文示例及介绍,需要的朋友可以参考下
    2021-06-06
  • hutool实战:IoUtil 流操作工具类(将内容写到流中)

    hutool实战:IoUtil 流操作工具类(将内容写到流中)

    这篇文章主要介绍了Go语言的io.ioutil标准库使用,是Golang入门学习中的基础知识,需要的朋友可以参考下,如果能给你带来帮助,请多多关注脚本之家的其他内容
    2021-06-06
  • Java OpenCV图像处理之背景消除

    Java OpenCV图像处理之背景消除

    GMM(高斯混合模型)是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息表示别境,然后使用统计差分进行目标像素判断达到预期效果。本文将利用GMM方法实现图像背景消除,需要的可以参考一下
    2022-02-02

最新评论