javascript_數字數組排序
來源:互聯網
上載者:User
<h3>功能:數字數組大小排序</h3>
<script language="javascript">
var array = [54, 23, 38, 4, 234, 9, 11];
document.write("原數組為:[" + array.toString() + "]" + "<br />");
// 求最大值:
var max = Number.NEGATIVE_INFINITY;
document.write("負無窮:" + max + "; 類型為:" + typeof max + "; <br />");
for(var i=0, len=array.length; i<len; i++) {
if(array[i] > max) {
max = array[i];
}
}
document.write("數組中最大的數值為:" + max + "; <br /><br /><br />");
// 排序:
function sortFn(inArray) {
var newArray = [],
index,
m;
document.write("原始數組為:" + inArray + "<br />");
do{
m = Number.NEGATIVE_INFINITY;
for(var i=0, len=inArray.length; i<len; i++) {
if(inArray[i] > m) {
m = inArray[i];
}
}
document.write("->" + m + "<br />");
newArray.push(m);
document.write("newArray數組為:" + newArray.toString() + "<br />");
index = inArray.indexOf(m);
inArray.splice(index, 1);
document.write("inArray數組為:" + inArray.toString() + "<br /><br />");
} while(inArray.length !=0);
return newArray.toString();
}
var result = sortFn(array).split(",");
document.write("從大到小排序為:" + result + "<br />");
document.write("從小到大排序為:" + result.reverse() + "<br /><br />");
// 冒泡排序:
var secArray = [45, 23, 99, 11, 233, 87];
document.write("冒泡比較法:原始數組_"+ secArray + "<br />");
var len = secArray.length,
empty;
for(var k=0; k<len-1; k++) {
for(var i=0; i<len-k-1; i++) {
if(secArray[i]>secArray[i+1]) {
empty = secArray[i+1];
secArray[i+1] = secArray[i];
secArray[i] = empty
}
}
}
document.write("冒泡比較法為:結果為(預設為小到大)_"+ secArray + "<br />");
</script>