2016-01-28 21 views
-1
<html> 
<script> 
var tal; 
var array = []; 
var element=parseIFloat(); 


function bubbleSort(A){ 
    var swapped, 
     len = A.length; 

    if(len === 1) return; 

    do { 
    swapped = false; 
    for(var i=1;i<len;i++) { 
     if(A[i-1] > A[i]) { 
     var b = A[i]; 
     A[i] = A[i-1]; 
     A[i-1] = b; 
     swapped = true; 
     } 
    } 
    } 
    while(swapped) 
} 


function insertnumber(){ 
var element=document.getElementById("element").value; 
insert (element,array); 
} 

function insert(element, array) { 
    array.push(element); 
    alert(array); 
    bubbleSort(array); 
    alert(array); 
} 



</script> 
<body> 
<input type="button" value="Mata in" onclick="insertnumber()" id="resultat"> 
tal<input type="number" id="element" autofocus> 
</body> 
</html> 

这是我的代码,但我真的不知道如何让它再次工作,我的问题是,我不能让它正确读取数字,试图使用“ parseIFloat();“,但似乎没有工作..javascript的泡沫排序问题(可能很容易)

谢谢:)

+1

你不是使用element = parseIFloat()的事件; – thatOneGuy

+0

?你是什​​么意思 – Lukas

+0

你在顶部设置变量,但是当你再次使用变量时,它可以使用参数,或者在使用它之前重置它。例如,在insertnumber()函数中,设置它的位置以及使用参数的insert(element,array)函数中。在这两种情况下,你都不会使用原来的 – thatOneGuy

回答

0

当然,var element=parseIFloat(); 本来是var element=parseFloat(); 并把

0123之间
var element=document.getElementById("element").value; 

insert (element,array);