2017-05-05 8 views

答えて

1

も、この上の私の感想:

  1. 元の配列のコピーを作成します。
  2. コピーした配列をソートして、n個の最高の番号を見つけます。
  3. 元の配列を通り、その番号を前のステップのn個の最高の番号と比較した後、結果の配列に必要なものを移動します。

var a = [12.3,15.4,1,13.3,16.5], n = 3, x = 0, c =[]; // c - the resulting array 
 
var b = a.slice(); // copy the original array to sort it 
 
for(var i = 1; i < b.length; i++) { // insertion sorting of the copy 
 
    var temp = b[i]; 
 
    for(var j = i - 1; j >= 0 && temp > b[j]; j--) b[j + 1] = b[j]; 
 
    b[j + 1] = temp; 
 
} 
 
for(var i = 0; i < a.length; i++) { // creating the resulting array 
 
    for(var j = 0; j < n; j++) { 
 
    if(a[i] === b[j]) { 
 
     c[x] = a[i]; x++; // or just c.push(a[i]); 
 
    } 
 
    } 
 
} 
 
console.log(c);

例はJavaScriptで書かれており、やや簡単です、しかし、実際には、それはかなりの言語に依存しないで、仕事をしている。

関連する問題