Java-programma om de gegevensstructuur van de wachtrij te implementeren

In dit voorbeeld zullen we leren om de datastructuur van de wachtrij in Java te implementeren.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java-wachtrijinterface
  • Java Generics

Voorbeeld 1: Java-programma om Stack te implementeren

 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(); ) )

Uitvoer

 Wachtrij is leeg Invoegen 1 Invoegen 2 Invoegen 3 Invoegen 4 Invoegen 5 Wachtrij is vol Voorste index-> ​​0 Artikelen -> 1 2 3 4 5 Achterste index-> ​​4 1 Verwijderd Voorste index-> ​​1 Items -> 2 3 4 5 Achterste index -> 4

In het bovenstaande voorbeeld hebben we de datastructuur van de wachtrij in Java geïmplementeerd.

Ga naar Wachtrijgegevensstructuur voor meer informatie over de werking van de wachtrij.

Voorbeeld 2: Implementeer stapel met behulp van de wachtrij-interface

Java biedt een ingebouwde Queueinterface die kan worden gebruikt om een ​​wachtrij te implementeren.

 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); ) )

Uitvoer

 Wachtrij: (1, 2, 3) Element verwijderd: 1 Wachtrij na verwijdering: (2, 3)

In het bovenstaande voorbeeld hebben we de Queueinterface gebruikt om de wachtrij in Java te implementeren. Hier hebben we de LinkedListklasse gebruikt die de Queueinterface implementeert .

  • numbers.offer () - voeg elementen toe aan de achterkant van de wachtrij
  • numbers.poll () - verwijder een element van de voorkant van de wachtrij

Let op, we hebben de punthaken gebruikt bij het maken van de wachtrij. Het geeft aan dat de wachtrij van het generieke type is.

We kunnen ook andere interfaces en klassen gebruiken in plaats van Queueen LinkedList. Bijvoorbeeld,

  • Deque-interface
  • ArrayDeque-klasse
  • PriorityQueue-klasse

Interessante artikelen...