首页 >

Java中的冒泡排序是如何实现的? – 网络|

iphone 忘记密码怎么办,织梦如何开启文章分页,itunes怎么升级ios7.1Java中的冒泡排序是如何实现的? - 网络|Java中的冒泡排序是如何实现的

冒泡算法

冒泡排序(BubbleSort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

Java编码实现

了解了冒泡排序的基本定义之后,根据其思想大家来根据题主的要求看看如何用Java实现冒泡排序算法,代码如下图:

基本原理就是如下的逻辑走向:

执行后输出如下:

有没有发现什么问题?是不是到了第6次已经完成排序了?后面的是不是就属于浪费了?所以大家需要优化一下,当他的顺序已经排序完毕了就不再进行排序了,优化后的代码如下:

执行后输出:

可以看出来只执行了6次排序。

算法复杂度

那么冒泡算法的复杂度是怎样的呢?相信大家看到这已经基本上可以算出来了:

  • 时间复杂度:两层循环O(n²);

  • 空间复杂度:还是原来的数组,没有开辟新的内存空间,所以是O(n)。

以上就是冒泡算法Java版的实现方案,大家有什么看法呢?欢迎评论区交流讨论,共同学习~

偶是【java架构设计】,关注偶,持续为您提供Java领域优质内容!


Java中的冒泡排序是如何实现的? - 网络|
  • C语言程序设计实训教程,从入门到精通(附详细代码实例) - 网络|
  • C语言程序设计实训教程,从入门到精通(附详细代码实例) - 网络| | C语言程序设计实训教程,从入门到精通(附详细代码实例) - 网络| ...

    Java中的冒泡排序是如何实现的? - 网络|
  • 详细介绍C语言的独特特点与优势 - 网络|
  • 详细介绍C语言的独特特点与优势 - 网络| | 详细介绍C语言的独特特点与优势 - 网络| ...

    Java中的冒泡排序是如何实现的? - 网络|
  • 介绍C语言中字符串的处理方法 - 网络|
  • 介绍C语言中字符串的处理方法 - 网络| | 介绍C语言中字符串的处理方法 - 网络| ...