- 简单选择排序
<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>