Heim  >  Artikel  >  Web-Frontend  >  Eine Einführung, wie JavaScript die Binärmethode zum Suchen von Daten verwendet

Eine Einführung, wie JavaScript die Binärmethode zum Suchen von Daten verwendet

黄舟
黄舟Original
2017-06-18 11:50:472551Durchsuche

Dieser Artikel stellt hauptsächlich den Beispielcode von JavaScript vor, der die Binärmethode zum Suchen von Daten verwendet. Der Herausgeber findet ihn jetzt ziemlich gut und gebe ihn als Referenz. Folgen wir dem Editor und werfen wir gemeinsam einen Blick darauf

Ordnen Sie die Dokumente und finden Sie einen Beispielcode für JavaScript mithilfe der Binärmethode, um Daten zu finden, und machen Sie sich nebenbei eine Notiz


//二分法查数据

 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}}

Ermitteln Sie die Gesamtpunktzahl von 10 Punkten, die höchste Punktzahl, die niedrigste Punktzahl


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);

Fügen Sie dem Array eine eindeutige Zahl hinzu


//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)

Ähnliche Fragen sind mir noch nie begegnet, daher kam ich nicht auf eine Idee. Nachdem der Lehrer zu Ende gesprochen hatte, schien ich es immer noch zu verstehen, aber ich verstand es nicht Ich verstehe es, bis ich es selbst getippt habe. Blasensortierung sieht sehr einfach aus, aber wenn es darum geht, den Code selbst einzugeben, kann man die Kürbisse nicht immer mit dem Kürbis vergleichen, das hätte man tun sollen Ihr eigenes Verständnis dafür, warum Sie so tippen, und mehr Code eingeben. Um ähnliche kleine Fehler in Zukunft zu vermeiden, denken Sie daran, die Variable selbst zu definieren und sie hin und her zu wiederholen, wenn sie nicht definiert werden kann , verwenden Sie eines, und wenn es verwendet wird, verwenden Sie ein anderes. Denken Sie daran, Semikolons hinzuzufügen. Denken Sie daran, geschweifte Klammern hinzuzufügen.

Das obige ist der detaillierte Inhalt vonEine Einführung, wie JavaScript die Binärmethode zum Suchen von Daten verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn