您的位置:首页 > Web前端 > JavaScript

JavaScript语言基础7---函数的综合练习

2017-05-01 08:28 357 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JavaScript语言基础---函数综合练习</title>

</head>

<body>
<input type="button" onclick="run()" value="执行函数">
<script type="text/javascript">
function run() {
var ar = [ 0, 1, 12, 3, -4, 45, 89, 11,10, -56 ];

//document.write(getMax(ar));

//println(ar);
//document.write("<br>");
// sortArray(ar);
//println(ar);
 
 //alert( searchElement(ar,-4));
 
 alert( binarySearch(ar,3));
 
 // println(ar);
  //document.write("<br>");
// reverseArray(ar);
 //println(ar);
}
//输出
function println(arr) {
for ( var i = 0; i < arr.length; i++) {
document.write("arr[" + i + "]=" + arr[i] + " ");
}
}
//获取数组中的最大元素--取最值
function getMax(arr) {
var max = arr[0];
for ( var i = 1; i < arr.length - 1; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}

 //数组反转
  function reverseArray(arr){
  for(var start=0,end=arr.length-1; start<end; start++,end--){
  swap(arr,start,end);
  }
  }
  
    //数组排序 --冒炮
  function sortArray(arr){
  for(var i=0; i<arr.length-1; i++){
  for(var j=0; j<arr.length-1-i;j++){
  if(arr[j]>arr[j+1]){
  swap(arr,j,j+1);
  }
  }
  }
  }
  
   //元素查找,,返回该元素在数组中的位置,若不存在则返回-1
  function searchElement(arr,value){
  for(var i=0; i<arr.length; i++){
  if(arr[i]==value){
  return i;
  }
  }
  return -1;
  }
  
   
  //二分查找--对于有序数组而言
  function binarySearch(arr,value){
  var min,max,mid;
  min=0;
  max=arr.length-1;
  while(min<=max){
  mid =(max+min)>>1; // 注意,用(max+min)/2 可能会得出小数的
  if(value>arr[mid]){
  min = mid+1;
  }else if(value<arr[mid]){
  max = mid-1;
  }else{
  return mid;
  }
  }
  return -1;
  }
  
    //交换数组中的两个元素
  function swap(arr,i,j){
  var temp=arr[i];
  arr[i]=arr[j];
  arr[j]=temp;
  }
</script>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp 函数