选择排序:
选择排序的原理是将一个无序数组中选择最小或者最大的元素放在起始位置,然后再在剩余的元素中选择最大或者最小的元素放在已经排序的数组后.以此类推最后得到结果就是排序完成的数组。
实例如下:
<script>
function selectionSort(arr) {
var len = arr.length;
var minIndex, temp;
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) { //寻找最小的数
minIndex = j; //将最小数的索引保存
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}
var aa=new Array(1,3,5,2,4);
document.write(selectionSort(aa));
</script>
选择排序也可用递归来进行实现
<script type="text/javascript">
var result=new Array();
function delyuansu(arr,n){
var arr2=new Array();
for(var i=0;i<arr.length;i++){
if(i!=n){
arr2.push(arr1[i]);
}
}
return arr2;
}
function selectionSort(arr){
for(var i=0;i<arr.length;i++){
var mixIndex=0;
if(arr[i]<arr[mixIndex]){
mixIndex=i;
result.push(arr[i]);
arr.delyuansu(arr,i);
}
}
arr.selectionSort(arr);//当元素为null时需要判断;
}
</script>