Java-program för att implementera ködatastrukturen

I det här exemplet lär vi oss att implementera ködatastrukturen i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-kögränssnitt
  • Java Generics

Exempel 1: Java-program för att implementera 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(); ) )

Produktion

 Kön är tom Infoga 1 Infoga 2 Infoga 3 Infoga 4 Infoga 5 Kön är full Främre index-> ​​0 Artiklar -> 1 2 3 4 5 Bakre index-> ​​4 1 Borttaget Främre index-> ​​1 Artiklar -> 2 3 4 5 Bakre index -> 4

I exemplet ovan har vi implementerat ködatastrukturen i Java.

För att lära dig hur du arbetar med kön, besök ködatastruktur.

Exempel 2: Implementera stack med kögränssnitt

Java har ett inbyggt Queuegränssnitt som kan användas för att implementera 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); ) )

Produktion

 Kö: (1, 2, 3) Borttaget element: 1 Kö efter radering: (2, 3)

I exemplet ovan har vi använt Queuegränssnittet för att implementera kön i Java. Här har vi använt LinkedListklassen som implementerar Queuegränssnittet.

  • numbers.offer () - infoga element på baksidan av kön
  • numbers.poll () - ta bort ett element framme i kön

Observera att vi har använt vinkelfästena medan vi skapade kön. Det representerar att kön är av generisk typ.

Vi kan också använda andra gränssnitt och klasser istället för Queueoch LinkedList. Till exempel,

  • Deque-gränssnitt
  • ArrayDeque-klass
  • PriorityQueue-klass

Intressanta artiklar...