Program Java pentru implementarea structurii datelor cozii

În acest exemplu, vom învăța să implementăm structura datelor cozii în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Interfață Java Queue
  • Java Generics

Exemplul 1: program Java pentru implementarea Stack

 public class Queue ( int SIZE = 5; int items() = new int(SIZE); int front, rear; Queue() ( front = -1; rear = -1; ) // check if the queue is full boolean isFull() ( if (front == 0 && rear == SIZE - 1) ( return true; ) return false; ) // check if the queue is empty boolean isEmpty() ( if (front == -1) return true; else return false; ) // insert elements to the queue void enQueue(int element) ( // if queue is full if (isFull()) ( System.out.println("Queue is full"); ) else ( if (front == -1) ( // mark front denote first element of queue front = 0; ) rear++; // insert element at the rear items(rear) = element; System.out.println("Insert " + element); ) ) // delete element from the queue int deQueue() ( int element; // if queue is empty if (isEmpty()) ( System.out.println("Queue is empty"); return (-1); ) else ( // remove element from the front of queue element = items(front); // if the queue has only one element if (front>= rear) ( front = -1; rear = -1; ) else ( // mark next element as the front front++; ) System.out.println( element + " Deleted"); return (element); ) ) // display element of the queue void display() ( int i; if (isEmpty()) ( System.out.println("Empty Queue"); ) else ( // display the front of the queue System.out.println("Front index-> " + front); // display element of the queue System.out.println("Items -> "); for (i = front; i " + rear); ) ) public static void main(String() args) ( // create an object of Queue class Queue q = new Queue(); // try to delete element from the queue // currently queue is empty // so deletion is not possible q.deQueue(); // insert elements to the queue for(int i = 1; i < 6; i ++) ( q.enQueue(i); ) // 6th element can't be added to queue because queue is full q.enQueue(6); q.display(); // deQueue removes element entered first i.e. 1 q.deQueue(); // Now we have just 4 elements q.display(); ) )

Ieșire

 Coada este goală Inserare 1 Inserare 2 Inserare 3 Inserare 4 Inserare 5 Coadă este plină Index frontal-> 0 Elemente -> 1 2 3 4 5 Index posterior-> 4 1 Șters index frontal-> 1 Elemente -> 2 3 4 5 Index posterior -> 4

În exemplul de mai sus, am implementat structura datelor cozii în Java.

Pentru a afla cum să lucrați la coadă, vizitați Structura de date a cozii.

Exemplul 2: Implementați stiva utilizând interfața Queue

Java oferă o Queueinterfață construită care poate fi utilizată pentru a implementa o coadă.

 import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // enqueue // insert element at the rear of the queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // dequeue // delete element from the front of the queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Queue after deletion: " + numbers); ) )

Ieșire

 Coadă: (1, 2, 3) Element eliminat: 1 Coadă după ștergere: (2, 3)

În exemplul de mai sus, am folosit Queueinterfața pentru a implementa coada în Java. Aici am folosit LinkedListclasa care implementează Queueinterfața.

  • numbers.offer () - introduceți elemente în partea din spate a cozii
  • numbers.poll () - eliminați un element din partea din față a cozii

Observați, am folosit parantezele unghiulare în timp ce creăm coada. Reprezintă că coada este de tip generic.

Putem folosi și alte interfețe și clase în loc de Queueși LinkedList. De exemplu,

  • Deque Interface
  • Clasa ArrayDeque
  • Clasa PriorityQueue

Articole interesante...