Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでゼロをリストの最後に移動するインプレースアルゴリズム


整数の配列が与えられたとしましょう。たとえば、arrとしましょう。リストをインプレースで変更して、すべてのゼロを配列の後ろに配置する関数を作成する必要があります。

関数は、他の要素の相対的な順序が同じになるようにこれを行う必要があります。

例-

入力配列が-

の場合
const arr = [0, 11, 0, 22, 67];

次に、配列を-

に変更する必要があります
const output = [11, 22, 67, 0, 0];

以下はコードです-

const arr = [0, 11, 0, 22, 67];
const moveZeroToEnd = (arr = []) => {
   const swap = (array, ind1, ind2) => {
      const temp = array[ind1];
      array[ind1] = array[ind2];
      array[ind2] = temp;
   };
   let j = 0;
   for (let i = 0; i < arr.length; ++ i) {
      if (arr[i] !== 0) {
         swap(arr, i, j++);
      }
   }
   while (j < arr.length) {
      arr[j++] = 0;
   };
};
moveZeroToEnd(arr);
console.log(arr);

出力

以下はコンソール出力です-

[11, 22, 67, 0, 0]

  1. appendChild JavaScript:ガイド

    JavaScriptのappendChild()メソッドは、ノードの最後にアイテムを追加します。 appendChild()は、アイテムをリストに追加するためによく使用されます。ノードに複数のアイテムを追加する場合は、複数のappendChild()ステートメントを使用する必要があります。 JavaScriptのappendChildの使用方法 一部のリストにはテキストが含まれています。他のリストには画像が含まれています。他のリストには、カスタムWeb要素が含まれています。リストにあるものが何であれ、確かなことが1つあります。それは、Webページがリストでいっぱいであることです。 リスト

  2. Javascriptでのプリムのアルゴリズム

    Primのアルゴリズムは、重み付き無向グラフの最小スパニングツリーを見つける欲張りアルゴリズムです。すべての頂点を含むツリーを形成するエッジのサブセットを検出し、ツリー内のすべてのエッジの合計の重みが最小化されます。 アルゴリズムは、ツリーから別の頂点への可能な限り安価な接続を追加する各ステップで、任意の開始頂点から一度に1つの頂点でこのツリーを構築することによって動作します。 プリムのアルゴリズムはどのように機能しますか? プリムのアルゴリズムがどのように機能するかを示す図を見てみましょう- 1.ルートノードとして任意のノードを選択します。この場合、Primのスパニングツリーのルートノ