Javascript優先キュー

| | | | | | | |

JavaでPriorityQueueを使用する方法

優先キューは、データ構造を作成するためのプログラミングで使用されます。データ構造では、値が最も高いデータ項目を最初に構造で処理する必要があります。

コーディングJavaでは、優先キューを実装したい状況に遭遇する可能性があります。これがJavaQueueインターフェースの出番です。ただし、キューはインターフェースであるため、コードで直接実装することはできません。ヒープデータ構造で優先度付きキューを作成する場合は、代わりにPriorityQueueを使用する必要があります。

このチュートリアルでは、JavaでのPriorityQueueの基本について説明し、キューの作成方法について説明します。このチュートリアルでは、キューのコンテンツを取得および操作するために使用できるPriorityQueueが提供する主な方法についても説明します。

JavaコードとPriorityQueue

スタックなどのキューが提供されます。操作が実行される特定の順序を持つ構造。キューの場合、操作は先入れ先出し(FIFO)に対して実行されます。これは、リストの最初のアイテムが常に最初に出てくることを意味します-。キューは入力されたアイテムで並べ替えられます

レストランにいて、注文したとします。それが最も良いアプローチであるため、各顧客が食べ物を注文した瞬間にサービスを受けることをお勧めします。したがって、ジャックの後に食べ物を注文した場合は、ジャックの直後に提供される必要があります。これはキューの例です。

このチュートリアルでは、Javaで優先キューの行を作成するために使用される待機中のインターフェイスキューの作業PriorityQueueの開発に焦点を当てます。

PriorityQueuesは、キューiの一種であり、そのアイテムは優先度に従って並べ替えられます。つまり、値が5と10のキューでは、最後に追加された場合でも、10が常にキューの先頭になります。

優先キューを作成

Javaで優先キューを作成するには、最初に java.util.PriorityQueueをインポートする必要があります。このパッケージには、キューの作成に使用できるPriorityQueueメソッドが含まれています。次のコードを使用してPriorityQueueパッケージをインポートできます。

これで、PriorityQueueをインポートしました。これで、パッケージを使用して待機するキューを作成できます。 PriorityQueueの作成に使用される構文:

FINDこれを許可します:

  • PriorityQueue は、優先キューを作成することをプログラムに通知します
  • DataType は、キューへのデータのタイプであり、保存を待機しています。
  • queue_name は、待機中のキューの対象となる変数の名前です。作成します。授与
  • 新しいPriorityQueue(); アプリオリキューを初期化してシャットダウンします

したがって、格納するキューを作成するとします。私たちのレストランでの顧客の注文は、次のコードを使用してこのスタックを作成できる各顧客のテーブル番号をキューに格納する必要があります:..

この例では、orders整数値と呼ばれるPriorityQueueインスタンスを作成しました。 / code>は、キューに格納され、FIFOデータ構造を使用してアイテムにアクセスおよび削除されます。

PriorityQueueに要素を追加

Javaでは、キュー内の各要素は呼び出されます。 element

アイテムをキューに追加するには、 add()を使用できます。このメソッドは、キューに追加するアイテムの値という1つのパラメーターを取ります。待機中のeのキューがいっぱいになると、 add()は例外を返します。

さらに、 Offer()を使用してキューへのアイテム。 add()Offer()の違いは、 Offer()はキューがいっぱいの場合にfalseを返し、 add()はfalseを返すことです。 )は例外をスローします。

テーブル#22と#17はランチを注文したばかりなので、この順序でスタックに追加するとします。次のコードを使用してこれを行うことができます。

コードは次を返します:

この例の子孫からの脱却。まず、PriorityQueueクラスをインポートしました。これは、後でコードで使用します。そのため、この例のコードを格納するAddCustomerというクラスを宣言しました。クラスのコードは次のように機能します。

  1. new PriorityQueue <>(); を使用して、コマンドという優先度キューを作成します。 。
  2. add()を使用して、テーブル#22をスタックに追加します
  3. コマンド:。という単語を出力します。コンソールのスタックの内容によって。
  4. offer()を使用して、テーブル#17をスタックに追加します。
  5. コンソールに印刷します。用語<コード>更新されたコマンド。 に続いてスタックの改訂されたコンテンツ
  6. 22がスタックの最初に表示されるため、要素を削除すると最初に終了します。つまり、配列#22はスタックの一番上にあります。表#17は、スタックの2番目の位置に格納されています。覚えておいてください-優先待ちのキューはFIFOの順序で分類されます

コードは元のコマンドを含む配列、次に更新されたコマンドを含む配列。

PriorityQueueからアイテムを削除する

PriorityQueueからアイテムを削除するために使用できる方法は2つあります。< / p>

サブボスがコマンド#17を処理し、スタックから削除したいとします。注文が処理された後、シェフは次の準備をしました。 22番で、スタックから削除したい。

参照17はスタックの位置2にあり、注文番号22 i s位置1。これらのアイテムをこの順序で削除します。このコードを使用して、コマンドを削除できます。

コードは次を返します:

コードを一時停止します。まず、 delete()を使用して、スタックの位置2にある注文を削除しました。このコマンド#17は削除されました

コードは次のようなメッセージを出力しました:。? Order#17が削除されましたの後に、 delete()メソッドの結果が続きます。 delete()はスタックから#17を正常に削除し、メソッドはtrueを返します

次に、poll() を使用して、スタックから最上位のアイテムを削除しました。この場合、それは注文ではありませんでした。 22. poll()の順序が削除されました。 22と削除されたアイテムを返しました。アイテムが削除された後、メッセージ Commander#[注文番号が削除されました]がキューから削除されましたを出力しました。コンソールの

アイテムの取得

peek()メソッドは、キューアイテム(最初のアイテム)のヘッダーを取得するために使用されます。キュー内)。スーシェフが新しい注文を受け入れる準備ができているため、スタック内の次の注文の値を知りたいとします。

このコードを使用して、次のクライアントのテーブル番号を取得できます。行:

コードは次を返します:

スタックの最初の要素は22であるため、 peek()を使用すると、プログラムは値22"コードの最後の行を返します、次のメッセージを出力します。処理される注文はテーブル#[スタックの最初の注文番号] で、スタックの最初の注文番号は peek()<によって検出されました。 /code>。

キューは優先度で反復されます

キューを操作する場合、優先度キュー内のアイテムを反復処理することがよくあります

p>

これを行うには、java.util.Iteratorパッケージの一部である iterator()を使用できます。コード<>iterator()の場合、最初に次のコードを使用してIteratorパッケージをインポートする必要があります。

レストランの注文キューにあるすべてのアイテムのリストを、次のコードを使用してコンソールに出力するとします。

コードは次を返します:

このコードでは、最初に4つの値をキューに追加します。次に、 iterator()を使用してイテレータを作成します。このイテレータを使用して、優先キュー内のすべてのアイテムを調べることができます。次に、イテレータの各要素を通過する whileを作成します-commandキューの各要素に対して-。そして、キューに次の値を出力します<

h2>追加のメソッドPriorityQueue

PriorityQueueクラスでよく使用される他の3つのメソッドがあります。

メソッドの名前 description
size()はキューの長さを返します。
toArray()はキューを配列に変換します。
contains(elementName)キューで要素を検索します。

結論

PriorityQueueクラスはJavaで使用され、キューインターフェイスの待機を実装します。キューはFIFOデータ構造を使用するため、最初に最初に実行します。

このチュートリアルでは、JavaでのキューイングとPriorityQueuesの基本を示しました。また、キューの作成方法と、取得に使用できる主なメソッドについても説明しました。アイテムを作成し、キューを操作します。

これで、プロのようにJavaPriorityQueueクラスの使用を開始するために必要なツールが手に入りました。

>

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method