美文网首页Java学习笔记
选择排序的java实现

选择排序的java实现

作者: 这是朕的江山 | 来源:发表于2016-06-14 16:41 被阅读55次

简介

选择排序是一种思想很简单的排序方法,其原理就是在第n轮选择第n小的元素与当前元素交换,这样第n小的元素就在数组的第n个位置了。
比如在第一轮中,把第0个元素设置为最小的元素,并把它跟后面的每一个元素比较,得到最小的元素,将最小的元素和第一个元素进行交换,以此类推

复杂度

时间复杂度

选择排序的时间复杂度为O(n2),因为不管情况怎样都是比较(n-1)+(n-2)+…+3+2+1=n(n-1)/2次

空间复杂度

选择排序不需要分配额外的空间,故它的空间复杂度为O(1)

稳定性

选择排序是一种不稳定的算法,比如5 8 5 3 2 9,经过第一轮交换之后两个5的位置顺序就不一样了,稳定性被破坏,所以它不是一种稳定的排序算法。

java实现

  public void choiceSort(int[]a)
{
     for(int i=0;i<a.length-1;i++)
   {
         int min=i;
         for(int j=i+1;j<a.length;j++)
        {
             if(a[j]<a[min])
          {
             min=j;
          }
        }
        if(a[min]!=a[i])
      {
         int temp=a[min];
         a[min]=a[i];
         a[i]=temp;
      }
   }
}

That's all.

相关文章

  • 冒泡排序 选择排序

    冒泡排序 java 实现 C 实现 选择排序 java 实现 C 实现

  • (306)排序-java实现的选择/插入/希尔排序

    引言 用java实现的选择排序、插入排序、希尔排序。 代码(java) 运行结果

  • 数据结构之排序

    选择排序1.直接选择排序 原理直接选择排序过程直接选择排序过程 实现: DataWrap.java来模拟待排序的数...

  • java快速学习排序---选择排序

    1.java实现选择排序 (1)、图解选择排序 (2)、选择排序的思想 选择排序首先在未排序序列中找到最小(大)元...

  • 面试知识点

    排序冒泡排序快速排序选择排序插入排序二路归并 查找二分查找 排序和查找的java实现 java语言Java字符串字...

  • 常用排序算法的Java实现

    冒泡、插入、选择、归并、快速排序的Java实现

  • 排序算法

    常见排序算法及JAVA实现 简单选择排序(SelectSort) 选择排序思想很简单,对所有元素进行遍历,选出最小...

  • 排序算法的实现

    用java对常用内部排序算法的实现。 对冒泡排序,简单选择排序,直接插入排序,希尔排序,归并排序的简单实现(缺少快...

  • java 实现排序算法之「选择排序」

    java 实现排序算法系列 继冒泡排序算法之后,选择排序终于和大家见面了。为什么冒泡排序之后要说选择排序呢,是因为...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

网友评论

    本文标题:选择排序的java实现

    本文链接:https://www.haomeiwen.com/subject/wrsudttx.html