Maison > interface Web > js tutoriel > le corps du texte

Une introduction à la façon dont JavaScript utilise la méthode binaire pour rechercher des données

黄舟
Libérer: 2017-06-18 11:50:47
original
2564 Les gens l'ont consulté

Cet article présente principalement l'exemple de code de JavaScript utilisant la méthode binaire pour trouver des données. L'éditeur pense que c'est plutôt bon. Maintenant, je vais le partager avec vous et le donner comme référence. Suivons l'éditeur et regardons ensemble

Organisons les documents et trouvons un exemple de code JavaScript en utilisant la méthode binaire pour trouver des données, et prenons note en passant


//二分法查数据

 var arr=[41,43,45,53,44,95,23];

 var b=44;

 var min=0;

 var max=arr.length;

 for(var i=1;i<arr.length;i++){ //外层循环控制排序的次数

  for(var j=0;j<arr.length-i;j++){//内层循环控制循环的个数

    if(arr[j]<arr[j+1]){

    z=arr[j];

    arr[j]=arr[j+1];

    arr[j+1]=z;

    }

     }

     }

    // alert(arr[3])

  while(true){           //二分查数就是先把一组数据按顺序排好后,从中间将这一组数据一分为二,看想要查得数在哪个范围内,然后再一分为二,直到找

/* for(var i=0;i<arr.length;i++)*/  //这么写不对?              这个数为止

   var zjs=parseInt((min+max)/2); //因为(min+max)/2有可能为小数,所以加上一个整数强制转换

   if(zjs==min){    当要查找数的数组为一个偶数个数的数组的时候最后剩下的数的个数为2的时候,需要加个条件再给判断一下                 

     if(b=arr[zjs+1]){

       alert(zjs+1);

       break;

       }

       }

   if(b==arr[zjs]){

     alert(zjs)

     break;}

   else if(b>arr[zjs]){

    min=zjs; }

    else{max=zjs}}
Copier après la connexion

Trouver le score total de 10 scores, le score le plus élevé, le score le plus bas


var arr = new Array(80,70,86,58,90,35,89,67,50,100);

  var sum = 0;

  var maxd = 0;

  var mind = 100;  //想要查最小数最好用满分最大数做可以比较的基数

  for(var i=0;i<arr.length;i++){

    sum = sum +arr[i];

    if(arr[i]>maxd){

      maxd = arr[i];

    }

    if(arr[i]<mind){

      mind = arr[i];

    }

        }

  alert(sum);

  alert(maxd);

  alert(mind);
Copier après la connexion

Ajouter un numéro unique au tableau


//var a=7;

 var a=parseInt(prompt("请输入一个数"));

 var x=0;

 var arr=[1,2,3,4,5]

 for(var i=0;i<arr.length;i++){

   if(a==arr[i]){

     x=1;

     break;}}

    if(x==0){

      arr.push(a)}

      alert(arr.length)
Copier après la connexion

Je n'ai jamais rencontré de questions similaires auparavant, donc je n'ai pas pu trouver d'idée après que le professeur ait fini de parler, j'avais toujours l'impression de comprendre mais je n'ai pas compris. comprends jusqu'à ce que je l'ai tapé moi-même. Le tri à bulles a l'air très simple, mais quand il s'agit de taper le code soi-même, on fait encore des erreurs. On ne peut pas toujours comparer les gourdes aux gourdes, tu aurais dû. votre propre compréhension de la raison pour laquelle vous tapez ainsi, et tapez plus de code, pour éviter de petites erreurs similaires à l'avenir, n'oubliez pas de définir la variable vous-même et de la faire écho lorsqu'elle ne peut pas être définie. , utilisez-en un, et lorsqu'il est utilisé, utilisez-en un autre. N'oubliez pas d'ajouter des points-virgules, n'oubliez pas d'ajouter des accolades.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal