SimpleSelectionSort

  • 简单选择排序

<script type="text/javascript">
var obj={
     data:[0,3,1,5,7,4,8,9,5],
    length:8
    }
//交换数组中两个数的位置
function swap(arr,i,j)
{
  var temp;
  temp=arr[j];
  arr[j]=arr[i];
  arr[i]=temp;
}
//简单选择排序
//思想:第i个元素和他后面的元素对比,找出最小元素的位置
//把他换到第i个位置,他是对冒泡的一种优化减少元素的交换次数
//时间复杂度O(n2)
//空间复杂度 O(1)
//排序的稳定性 不稳定
function SSSort(obj)
{

   var k;
  for(var i=1;i<obj.length;i++)
  {
    k=i;
    for(var j=i+1;j<=obj.length;j++)
    {
      //易错点:此处不能写成i
      if(obj.data[k]>obj.data[j])
      {
        k=j;
      }
    }
    if(k!=i)
    {
      swap(obj.data,i,k);
    }
  }
}
SSSort(obj);
console.log(obj.data);
</script>

原文地址:https://www.cnblogs.com/yiluhuakai/p/7678748.html