1.冒泡排序:
代码:
<script>
var arr=[12,23,56,34,89,95];
window.οnlοad=function(){
var len=arr.length;
for( var i=0;i<len;i++){
for( var j=i+1;j<len;j++){
if(arr[i]>arr[j]){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for( var i=0;i<len;i++){
document.write(arr[i]);
document.write(";");
}
}
</script>
结果:
2.插值法
代码:
<script>
var arr=[3,8,89,78,34,56,18,45];
window.οnlοad=function(){
var arrSort=[];
arrSort[0]=arr[0];
var flag=0;
for(var i=1;i<arr.length;i++){
flag=0;
for(var j=0;j<arrSort.length;j++){
if(arr[i]<arrSort[j]){
arrSort.splice(j,0,arr[i]);
flag=1;
break;
}
}
if(flag==0){
arrSort.push(arr[i]);
}
}
for(var i=0; i<arrSort.length;i++){
document.write(arrSort[i]);
document.write(";");
}
}
</script>
结果:
3.二分法:
代码
<script>
var arr=[90,45,34,67,54,8,67,32];
window.οnlοad=function(){
var nArr=[];
nArr[0]=arr[0];
var len =arr.length;
var left=0;
var right=0;
var point=0;
for(var i=1; i<len;i++){
left=0;
var nlen=nArr.length;
right=nlen;
for(var j=0;j<nlen; j++){
point =Math.floor((left+right)/2);
if(nArr[point]<arr[i]){
left=point+1;
}else{
right=point;
}
if(left==right){
nArr.splice(left,0,arr[i]);
break;
}
}
}
for(var i=0;i<nArr.length;i++){
document.write(nArr[i]);
document.write(";");
}
}
</script>
结果: