Sorting algorithm JS - The Bubble Sort

Bubble sort algorithm

Example: 10,8,9,6,4,20,5 from small to large

The first round 1) 10> 8 exchanging data obtained: 8,10,9,6,4,20,5

             2) 10> switched data 9 obtained: 8,9,10,6,4,20,5

             3) 10> 6 exchanging data obtained: 8,9,6,10,4,20,5

             4) 10> 4 exchanges data obtained: 8,9,6,4,10,20,5

             5) 10 <20 does not exchange data obtained: 8,9,6,4,10,20,5

             6) 20> 5-switched data obtained: 8,9,10,6,4,5,20

Results: 8,9,10,6,4,5,20

The second round 1) 8 <9 does not exchange data obtained: 8,9,10,6,4,5,20

             2) 9 <10 does not exchange data obtained: 8,9,10,6,4,5,20

             3) 10> 6 exchanging data obtained: 8,9,6,10,4,5,20

             4) 10> 4 exchanges data obtained: 8,9,6,4,10,5,20

             5) 10> 5 exchanging data obtained: 8,9,6,4,5,10,20

Results: 8,9,6,4,5,10,20

A third round) 8 <9 does not exchange data obtained: 8,9,6,4,5,10,20

             2) 9> to give 6-switched data: 8,6,9,4,5,10,20

             3) 9> 4-switched data obtained: 8,6,4,9,5,10,20

             4) 9> to give 5-switched data: 8,6,4,5,9,10,20

 Results: 8,6,4,5,9,10,20

Fourth Round 1) 8> 6 exchanging data obtained: 6,8,4,5,9,10,20

             2) 8> 4 exchanges data obtained: 6,4,8,5,9,10,20

             3) 8> 5 for exchanging data obtained: 6,4,5,8,9,10,20

  Results: 6,4,5,8,9,10,20

Fifth wheel 1) 6> 4 exchanges data obtained: 4,6,5,8,9,10,20

             2) 6> 5-switched data obtained: 4,5,6,8,9,10,20

    Results: 4,5,6,8,9,10,20

Sixth round 1) 4 <5 does not exchange data obtained: 4,5,6,8,9,10,20

Analyze the results JS bubble sort algorithm is as follows

function sort(data){
  var i=0;
  while(i<data.length-1){
    for(var j=0;j<data.length-i-1;j++){
      if(data[j]>data[j+1]){
        var x=data[j];
        data[j]=data[j+1];
        data[j+1]=x;
      }
    }
    i++;
  }
}
  var data=[10,8,9,6,4,20,5];
  console.log('before:'+data);
  sort(data);
  console.log('after:'+data);

Guess you like

Origin www.cnblogs.com/jing-tian/p/10956732.html