I dette eksemplet vil vi lære å implementere kødatastrukturen i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java køgrensesnitt
- Java Generics
Eksempel 1: Java-program for implementering av 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(); ) )
Produksjon
Køen er tom Sett inn 1 Sett inn 2 Sett inn 3 Sett inn 4 Sett inn 5 Kø er full Frontindeks-> 0 Elementer -> 1 2 3 4 5 Bakre indeks-> 4 1 Slettet Frontindeks-> 1 Elementer -> 2 3 4 5 Bakre indeks -> 4
I eksemplet ovenfor har vi implementert kødatastrukturen i Java.
For å lære å jobbe med køen, besøk Kø Datastruktur.
Eksempel 2: Implementere stack ved hjelp av køgrensesnitt
Java har et innebygd Queue
grensesnitt som kan brukes til å implementere en kø.
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); ) )
Produksjon
Kø: (1, 2, 3) Fjernet element: 1 kø etter sletting: (2, 3)
I eksemplet ovenfor har vi brukt Queue
grensesnittet til å implementere køen i Java. Her har vi brukt LinkedList
klassen som implementerer Queue
grensesnittet.
- numbers.offer () - sett inn elementer på baksiden av køen
- numbers.poll () - fjern et element fra forsiden av køen
Legg merke til at vi har brukt vinkelparentene mens vi opprettet køen. Det representerer at køen er av generisk type.
Vi kan også bruke andre grensesnitt og klasser i stedet for Queue
og LinkedList
. For eksempel,
- Deque-grensesnitt
- ArrayDeque-klasse
- PriorityQueue-klasse