亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript基本算法匯總

 更新時間:2016年03月09日 11:22:49   作者:Leinov  
這篇文章主要為大家詳細介紹了javascript基本算法,包括輸出奇偶數控制算法、冒泡排序等,感興趣的小伙伴們可以參考一下

本文為大家分享了五個javascript算法,供大家參考,具體內容如下

 1. 線性查找

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>線性查找</title>
</head>
<body>

 <p>數組為:[2,4,6,23,53,545,65,3,24,5,3,6]</p>
 <p>輸入要查的值:<input type="text" id="serch" onchange="search_index(this.value)"><p>
 <p>這個值在數組的位置是:<span id="val"></span><p>



 <script>   
  //1.聲明查找函數
  //Arr為數組,x為要搜索的值
   function search(Arr,x){
    for(var i=0; i<Arr.length; i++){
     if(Arr[i]==x){
      return i; //返回x在數組中的位置;
     }
    }
    return "不存在"; //循環(huán)結束還未發(fā)現的話 則返回"不存在";
   }
  
   //2.實例練習
   var arr=[2,4,6,23,53,545,65,3,24,5,3,6]; //聲明一個數組  
   function $$(id){
    return document.getElementById(id);
   }

  function search_index(value){
    var val=getX(arr,value)
    $$("val").innerHTML=val;
  }

   function getX(Arr,x){
    var count=0;
    console.log("循環(huán)執(zhí)行了:");
    for(var i=0; i<Arr.length;i++){
     count++
     console.log(count);//輸出循環(huán)執(zhí)行的次數
     if(Arr[i]==x){
      return i;
     }
    }
    return "該值不存在";
   }  
     
  
 </script>
</body>
</html>

 2.二分查找

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>二分查找溫故</title>
</head>
<body>
 
 <script>
 //二分查找值適用于已經排好序的數組中
 //二分就是逢中查找 步驟較少
 var arr=[-13,2,4,6,8,12,34,35,45,56,57,88,110,234,239,342];//有序數組
 
 function binarySearch(arr,x){
  var low=0,high=arr.length-1;
  var count=0;
  while(low<=high){
   count++;
   console.log("這是第"+count+"次循環(huán)");
   var mid=Math.floor((low+high)/2);
   if(arr[mid]==x){
    console.log("x所在數組內的引索是:"+mid);
    return mid;
   }
   if(arr[mid]<x){//如果要查找的值大于二分值則low=mid+1;

    low=mid+1;
    console.log("此時low的值是:"+low);
   }else{
    high=mid-1;//如果要查找的值小于二分值則high=mid-1;
    console.log("此時high的值是:"+high);
   }

  }

 }
binarySearch(arr,45);
 </script>
</body>
</html>

3.冒泡排序

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>javascript冒泡排序</title>
</head>
<body>
 <script>
  var arr=new Array(34,-3,43,67,12,44,21,34,5,645,64,3,43,23,25);

  function bubbleSort(){
   var temp;//聲明一個緩存變量
   var count_outer=0;//外層循環(huán)計數
   var count_inner=0;//內層循環(huán)計數

   for(var i=0; i<arr.length;i++){//第一層循環(huán)
    count_outer++;
    console.log("這是外層循環(huán)的第"+count_outer+"次");
    for(var j=arr.length;j>0;j--){//第二層循環(huán)
     count_inner++;
     console.log("...................這是內層循環(huán)的第"+count_inner+"次");
     if(arr[j-1]<arr[j-2]){//判斷后面一值如果小于前面一值
      temp=arr[j-2];//那么將前面的值存放在temp里面
      arr[j-2]=arr[j-1];//然后將后面一直放在前面值的位置
      arr[j-1]=temp;//在把temp里的值放在后面那個位置
     }
     console.log(".......................................外層第"+count_outer+"次循環(huán)"+"內層第"+count_inner+"次循環(huán)"+"后的數組排序結果是"+arr)
    }
   }
   return "最終排序后的數組是:["+arr+"]....一共循環(huán)了"+count_inner+"次";

  }
  
console.log(bubbleSort()); //控制臺輸出

 </script>
</body>
</html>

4.階乘

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title>階乘</title>
</head>
<body>
 <script>
 //created in 2014-04-30 
 //factorial function

  function factorial(num){
   if(num<=1){
    return 1;
   }else{
    return num*arguments.callee(num-1);//arguments 是一個類似數組的對象 包含函數中傳入的參數 他有一個屬性callee,它是一個指針 指向擁有這個arguments對象的函數也就是factorial
   }
  }

  var fac=factorial;//不帶括號的函數名是一個指向該函數的指針 所有fac現在也指向這個階乘函數
  alert(fac(3));//6

 </script>
</body>
</html>

5.輸出奇偶數控制

<html>
 <head>
  <title>只輸出奇數或者偶數項</title>
 </head>
 <body>
  <script>
  var ck = true;//全局變量
  function oddOreven(num) { //num為0或1 控制輸出結果 是奇數還是偶數
   for (var i = 0; i < 30; i++) {
    if (ck) {
     ck = false; //如果ck為true 讓其等于false
     alert(i + num);
    } else {
     ck = true;
    }
   }
  }
  //調用
  oddOreven(0); //偶數
  oddOreven(1) //奇數
  </script>
 </body>
</html>

以上就是本文的全部內容,希望能夠幫助大家更好的學習javascript程序設計。

相關文章

  • 微信小程序開發(fā)之實現食堂點餐系統

    微信小程序開發(fā)之實現食堂點餐系統

    這篇文章主要為大家詳細介紹了如何通過微信小程序開發(fā)一個簡單的食堂點餐系統,文中的示例代碼講解詳細,感興趣的小伙伴可以和小編一起學習一下
    2023-01-01
  • JavaScript實現頁面高亮操作提示和蒙板

    JavaScript實現頁面高亮操作提示和蒙板

    這篇文章主要介紹了JavaScript實現頁面高亮操作提示和蒙板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • 純JS 繪制數學函數

    純JS 繪制數學函數

    今天閑來無事用js寫了個數學繪圖包,還不算完整,不過總出現了雛形。
    2009-04-04
  • location.search在客戶端獲取Url參數的方法

    location.search在客戶端獲取Url參數的方法

    最近一直在寫html,剛接觸到,感覺挺復雜的。。比如傳參,在.net里可以直接用Request接受,而在html中還要經過處理,找了一些資料,寫了個方法。
    2010-06-06
  • JS插件clipboard.js實現一鍵復制粘貼功能

    JS插件clipboard.js實現一鍵復制粘貼功能

    這篇文章主要介紹了JS插件clipboard.js實現一鍵復制粘貼功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Array, Array Constructor, for in loop, typeof, instanceOf

    Array, Array Constructor, for in loop, typeof, instanceOf

    雖然在 JavaScript 中數組是是對象,但是沒有好的理由去使用 `for in` 循環(huán) 遍歷數組。相反,有一些好的理由不去使用 for in 遍歷數組。
    2011-09-09
  • js數組方法reduce經典用法代碼分享

    js數組方法reduce經典用法代碼分享

    本文給大家整理了很多關于js數組方法reduce的經典代碼片段,能夠讓大家更好的理解reduce的實例用法,一起學習下吧。
    2018-01-01
  • ES6知識點整理之函數對象參數默認值及其解構應用示例

    ES6知識點整理之函數對象參數默認值及其解構應用示例

    這篇文章主要介紹了ES6知識點整理之函數對象參數默認值及其解構應用,結合實例形式分析了ES6函數對象參數相關使用技巧,需要的朋友可以參考下
    2019-04-04
  • 詳解微信JS-SDK選擇圖片遇到的坑

    詳解微信JS-SDK選擇圖片遇到的坑

    這篇文章主要介紹了詳解微信JS-SDK選擇圖片遇到的坑,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • js重寫alert事件(避免alert彈框標題出現網址)

    js重寫alert事件(避免alert彈框標題出現網址)

    這篇文章主要給大家介紹了關于js重寫alert事件的相關資料,這樣可以避免alert彈框標題出現網址的情況,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12

最新評論