选择排序:是一种非常简单直观的算法。
问题:有一组数字[23,34,12,756,49,56],需要对它们进行从小到大的排序。
原理:首先让没有排序的数字进行比较,将最小的数字排在排序序列的第一位;然后,再从剩余地未排序的数字中找出最小的数字,放在排序序列的第二位;以此类推...
<script language="javascript"> /*javascript描述的选择排序算法*/ function main(){ var arr = new Array(10), count = 10; /*获取10位的随机数组*/ arr = getarr(count,arr); document.write("排序前的数组:" + arr + "<br />"); /*排序*/ arr = selectionSort(count,arr); document.write("排序后的数组:" + arr); } function getarr(count,arr){ var i; for(i=0;i<10;i++){ arr[i] = Math.round(Math.random()*100); } return arr; } /*选择排序算法*/ function selectionSort(count,arr){ var i,j,temp; for(i=0;i<count;i++){ for(j=i;j<count;j++){ if(arr[i]>arr[j]){ temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } return arr; } main(); </script>
下面是利用javascript中内置的对象方法
<script language="javascript"> function main(){ /*获取10位的随机数组*/ var arr = new Array(10), count = 10; arr = getarr(count,arr); document.write("排序前的数组:" + arr + "<br />"); /*数组排序*/ arr.sort(compare); document.write("排序后的数组:" + arr); } function getarr(count,arr){ var i; for(i=0;i<count;i++){ arr[i] = Math.round(Math.random()*100); } return arr; } /*排序函数*/ function compare(a,b){ return a - b; } main(); </script>