java中三种常见的排序方式

原创 2018年04月17日 13:24:01

这节我们来了解一下java中常见的三种排序方式,这里我们说的是

1.冒泡排序

2.选择排序

3.插入排序

排序中要考虑到的主要因素是时间复杂度和空间复杂度,时间我们可以用

System.currentTimeMillis()这个来查看。

下面我们依次来说明

1.冒泡排序

所谓冒泡排序就是从前到后遍历选出最大值放到最后一个,然后在遍历剩下的找出剩

下中最大的放到倒数第二个,依次直至遍历到最后一个,也就是最小的放到第一个,

使其有序。下面我们来举例说明:


这里要说明的是这里有两个for循环嵌套,其中第一个for循环是控制比较的趟数(每一

趟选出一个最大值),第二个for是比较的次数(比较相邻两个是中较大的值)。

但这个冒泡排序是有缺憾的,是可以优化的。这里我们说一个简单的优化,如果原来

的数组就是有序的,那这个排序还是会选择每一个比较,时间复杂度会很大,于是我

们可以这么优化:

第二个for设计一个int类型标志flg定义为0,如果发生交换,那么flg++,如果flg结

果为0,说明没有发生交换,那么数组本身就是有序的。函数如下:


2.选择排序

选择排序就是从第一趟开始,用第一个元素和剩下中的每一个元素比较,如果比第一

个小,就和第一个元素交换值,最后使得第一个元素中的值最小,第二趟选择出第二

小的放到第二元素,依次,使得数组有序。下面我们举例说明:


如同冒泡排序一般,第一个for循环控制趟数,第二个for循环控制每一趟中比较的次数。

3.插入排序

插入排序类似于打扑克牌,从第二张牌开始插入,小的插到大的前面,然后使其有

序。再拿第三张牌来,找到合适的位置继续插入,使这三张有序。在第四张直至全部

插入有序。举例说明:


第一个for控制插入的次数,第二个for循环是每一次插入后,找到插入值合适位置,使

现有的元素有序。


(新手上路,如有错误,请多多指教。)

java中常见的几种排序方式

之前也学习了几种常见的排序方式,也没有作过总结,这次来对其中几种常见的排序方式进行一次小小对比和总结,作者水平有限,文章中如有错误,望不吝指出。 1冒泡排序 冒泡排序应该是我们学习...
  • YQlakers
  • YQlakers
  • 2017-04-09 21:36:41
  • 1446

Java实现三种排序算法

学习Java有一段时间了,今天研究了一下简单的算法,算法确实非常难,yonglebantiandeshijiancaino...
  • u014740732
  • u014740732
  • 2014-09-22 16:26:53
  • 977

java中常见的几种排序方法

以下列出Java中常用的几种排序算法,只是简单实现了排序的功能,还有待改进,望指教(以下均假设数组的长度为n): 1)冒泡排序: 依次比较相邻的两个元素,通过一次比较把未排序序列中最大(或最小)的...
  • qq_28893679
  • qq_28893679
  • 2016-09-11 15:44:49
  • 2093

java中的三大排序算法

一、冒泡排序 已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。再比较a[2]与a[3]的值,若a[2...
  • pqwGreenhand
  • pqwGreenhand
  • 2016-12-12 12:59:52
  • 3150

常见的几种排序方法

我们以数组a[ ]={2,6,8,9,1,2}进行排序输出作为列子:下面我来总结几种方法来帮助大家学习 1:常规排序        首先2和6对比,2不比6大不因此不交换,所以还是268912...
  • Hallo_ween
  • Hallo_ween
  • 2016-08-03 18:28:39
  • 2229

三种排序方式

  • 2012年10月15日 23:21
  • 2KB
  • 下载

Java常见几种排序方式

日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,...
  • Sziwu
  • Sziwu
  • 2016-03-11 18:35:15
  • 256

Java中的三种注释方法

1、单行注释  // public static void main(String[] args){ System.out.println("Hello!"); //输出Hello!} ...
  • houzhuoran
  • houzhuoran
  • 2016-08-08 23:08:57
  • 728

Java常见4种排序

排序 看到数据排序这节所以把排序的常见方法都整理下。 (一)冒泡排序:从最左边开始对两个数进行比较,如果第i个数大于第i+1个数,两个数就交换,不断重复。 最好时间复杂度O(n) 最坏时间复杂...
  • qq_34297007
  • qq_34297007
  • 2017-03-14 20:11:17
  • 890

Java三种排序 Java三种排序

  • 2010年06月25日 21:49
  • 377KB
  • 下载
收藏助手
不良信息举报
您举报文章:java中三种常见的排序方式
举报原因:
原因补充:

(最多只允许输入30个字)