美文网首页
简单选择排序

简单选择排序

作者: Random_ | 来源:发表于2017-11-09 19:49 被阅读0次

选择排序的初步思想:在排序时找到合适的关键字再做交换,并且只移动一次就完成相应关键字的排序定位工作。

简单选择排序法就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1=<i<=n) 个记录交换之。

void SelectSort(SeList *L)
{
    int i,j,min;
    for(i=1;i<=L->length;i++)
      {
        min=i;     /*将当前下标定义为最小值下标*/
      for(j=i+1;j<=L->length;j++)    /**循环之后的数据/
      {
          if(L->r[min]>L->r[j])    /*如果有小于当前最小值的关键字,将此关键字的下标赋给min*/
             min=j;
     }
    if(i!=min)         /*i不等于min,说明找到最小值*/
     swap(L,i,min);/*交换l->r[i]和l->r[min]的值*/
      }
}

复杂度分析

交换移动数据的次数相当少
最好的时候,交换0次
最坏的时候,交换次数为n-1次

时间复杂度为O(n2)
在性能上优先于冒泡排序

js代码

<!doctype html>
<html>
<head>
<title></title>
<script type="text/javascript">
    
    function SelectSort(arr){
       for (var i = 1; i <=arr.length; i++) {
           var min=i;
           for (var j= i+1; j<=arr.length; j++) {
                if (arr[min]>arr[j]) {
                    min=j;
                }
            }
             if (i!=min) {
               var temp;
           temp=arr[i];
           arr[i]=arr[min];
           arr[min]=temp;
          }
        }
      } 
      var array=[1,3,4,2,5,6];
       SelectSort(array);
      document.write(array);
</script>
</head>
<body
</body>
</html>

执行结果如图


简单选择排序执行结果

相关文章

  • 基础算法|简单选择排序

    简单选择排序是一种排序算法,指在简单选择排序过程中,所需移动记录的次数比较少。简单选择排序是不稳定排序。 简单选择...

  • 选择排序-c语言描述

    选择排序分简单选择排序与堆排序两种,先介绍简单选择排序。1.简单选择排序在未排序的序列中找到最小(大)元素,存放到...

  • 常用排序算法(Python实现), 持续更新中

    一、非线性时间比较类排序 交换排序冒泡排序快速排序 插入排序简单插入排序希尔排序 选择排序简单选择排序堆排序 归并...

  • 算法复习-选择类排序(1)-简单选择排序

    简单选择排序 选择类排序的主要动作是“选择”,简单选择排序采用最简单的选择方式,从头至尾顺序扫描序列,找出最小的一...

  • 给自己备份的排序代码

    交换排序 冒泡排序 快速排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序

  • GO语言实现 一 基本排序

    基本排序包括简单选择排序和插入排序,本文将就这两种排序进行 golang语言实现,并引出希尔排序 一.简单选择排序...

  • 排序算法

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

  • 排序法

    排序分 内部排序和外部排序 内部排序: 插入排序:{直接插入排序,希尔排序} 选择排序:{简单选择排序,堆排序} ...

  • 动画 | 什么是选择排序?

    简单选择排序属性 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序...

  • 七大排序算法总结

    题记: 直接插入排序(稳定)-->希尔排序 : 属于插入排序 简单选择排序(稳定)-->堆排序 :属于选择排序...

网友评论

      本文标题:简单选择排序

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