Rumah  >  Artikel  >  Java  >  Barisan pekeliling Jawa

Barisan pekeliling Jawa

WBOY
WBOYasal
2024-08-30 15:08:27476semak imbas

Artikel berikut menyediakan garis besar untuk Java baris gilir Pekeliling. Baris gilir bulat ialah struktur data linear dan operasi dilakukan dalam cara FIFO (Masuk Dahulu Keluar) sama seperti Baris Gilir mudah. Dalam baris gilir Pekeliling, kedudukan terakhir disambungkan ke kedudukan pertama membuat bulatan. Ia juga dipanggil Penampan Cincin. Dalam struktur Baris mudah, jika bahagian belakang mencapai penghujung baris gilir, iaitu baris gilir menjadi penuh, terdapat kemungkinan ruang pada elemen permulaan kosong yang tidak boleh digunakan. Had baris gilir ini diselesaikan oleh baris gilir CIrkular. Dalam topik ini, kita akan belajar tentang Java baris gilir Pekeliling.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

Di bawah diberikan ialah sintaks asas menggunakan Baris Pekeliling dalam program Java:

Bagaimana untuk membuat baris gilir Pekeliling di Jawa bersama-sama dengan cara kerjanya?

Mari kita memahami penciptaan dan kerja baris gilir Pekeliling secara terperinci:

Operasi asas yang dilakukan pada Baris Pekeliling diberikan di bawah:

  1. Depan: Ia digunakan untuk menunjuk ke elemen pertama baris gilir.
  2. Belakang: Ia digunakan untuk menunjuk ke elemen terakhir baris gilir.
  3. Enqueue(value): Ia adalah fungsi yang digunakan untuk memasukkan elemen pada baris gilir. Elemen dalam Baris disisipkan di kedudukan belakang.
  4. Dequeue(): Fungsi ini digunakan untuk memadam elemen Barisan. Sebagai sifat asas Baris Gilir, pemadaman elemen berlaku dari hadapan Baris Gilir.

Di bawah diberikan adalah langkah-langkah yang diikuti semasa mencipta, memasukkan atau memadamkan elemen dalam Baris Pekeliling:

  • Pada mulanya, nilai Depan dan Belakang ditetapkan kepada -1.
  • Dalam operasi Enqueue (nilai):
  • Jika kita memasukkan elemen pertama dalam Baris Gilir, kedua-dua Bahagian Depan dan Belakang ditetapkan kepada 0.
  • Apabila memasukkan elemen baharu dalam baris gilir, bahagian belakang menjadi belakang + 1.
  • Elemen baharu ditambah pada kedudukan belakang.
  • Bagian belakang dinaikkan secara membulat, iaitu jika ia sampai ke penghujung dan barisan menjadi penuh, ia menunjuk ke permulaan baris gilir.
  • Dalam Operasi Dequeue:
  • Pertama, ia diperiksa sama ada baris gilir kosong atau tidak. Min hadapan== belakang== -1, bermakna baris gilir kosong, pemadaman tidak boleh dilakukan.
  • Jika baris gilir hanya mempunyai 1 elemen, iaitu depan == belakang, kemudian padam elemen dan tetapkan depan == belakang == -1.
  • Jika terdapat elemen dalam baris gilir, nilai yang ditunjukkan oleh hadapan dipadamkan dan secara bulatan meningkatkan indeks hadapan sebanyak 1.

Senario berikut perlu diingat semasa bekerja dalam baris gilir pekeliling:

  1. Barisan penuh jika depan = 0 dan belakang = saiz -1, yang bermaksud bahagian depan menghala ke kedudukan pertama dan belakang di bahagian terakhir. Jadi giliran penuh dan tiada sisipan boleh berlaku.
  2. Baris gilir penuh jika depan = belakang+1, yang bermaksud jika, selepas banyak pemadaman, bahagian hadapan berada pada kedudukan 3 baris gilir dan belakang selepas sisipan secara bulat berada pada kedudukan 2, senarai penuh dan tiada lagi sisipan boleh berlaku.
  3. Barisan tidak penuh jika di hadapan!= 0 dan belakang = maks-1, yang bermaksud terdapat kedudukan pada permulaan baris gilir yang kosong, jadi sisipan boleh dilakukan.
  4. Jika belakang!= saiz-1, maka nilai baharu boleh dimasukkan kerana bahagian belakang boleh dinaikkan lagi menggunakan mod(saiz).

Contoh

Di bawah diberikan contoh yang menunjukkan pelaksanaan Baris Pekeliling dalam program Java:

  • Memasukkan elemen dalam Barisan
  • Memaparkan item baris gilir kosong
  • Memasukkan elemen dalam Barisan
  • Mengalih keluar elemen daripada Baris Gilir
  • Memasukkan elemen dalam Baris Gilir penuh
  • Memaparkan elemen Baris bersama-sama dengan kedudukan hadapan dan belakang.
public class CirQueue {
// Defining the size of Circular Queue
int SIZE = 5;
int front, rear;
int queue[] = new int[SIZE];
//creating the constructor of the above class
CirQueue() {
front = -1;
rear = -1;
}
// Implementing the 2 scenarios to check if the queue is full or not
boolean isFullQueue() {
if (front == 0 && rear == SIZE - 1) {
return true;
}
if (front == rear + 1) {
return true;
}
return false;
}
// Check if the queue is empty or not
boolean isEmptyQueue() {
if (front == -1)
return true;
else
return false;
}
// Adding an element in the queue
void enQueue(int value) {
if (isFullQueue()) {
System.out.println("Sorry !! Queue is full.. No more elements could be inserted in it");
}
else {
// if there is no element in the queue
if (front == -1)
front = 0;
// incrementing the rear position in circular manner using modulo operator
rear = (rear + 1) % SIZE;
//placing the value at the rear position
queue[rear] = value;
System.out.println("Element " + value + " is inserted successfully");
}
}
// Deleting the element from the queue
void deQueue() {
int value;
// checking of the queue is empty or not
if (isEmptyQueue()) {
System.out.println("Sorry !!The Queue is empty.. ");
} else {
value = queue[front];
// if there is only one element in the queue
if (front == rear) {
front = -1;
rear = -1;
}
else {
// Incrementing the front in a circular manner
front = (front + 1) % SIZE;
}
}
}
// Displaying the elements of the Circular queue
void displayQueue() {
int i;
if (isEmptyQueue()) {
System.out.println("Sorry!! The Queue is Empty");
} else {
System.out.println("Position of Front:  " + front);
System.out.println("Below given are the elements of the Queue");
for (i = front; i != rear; i = (i + 1) % SIZE)
System.out.print(queue[i] + " ");
System.out.println(queue[i]);
System.out.println("Position of Rear: " + rear);
}
}
// Main function to drive the code
public static void main(String[] args) {
// creating the object of the class to call the methods
CirQueue que = new CirQueue();
// Queue is empty. No element is inserted as of now
que.deQueue();
que.enQueue(10);
que.enQueue(24);
que.enQueue(33);
que.enQueue(67);
que.enQueue(22);
que.displayQueue();
que.deQueue();
que.displayQueue();
que.enQueue(900);
que.displayQueue();
// Element cannot be inserted as the queue is full
que.enQueue(867);
que.deQueue();
que.displayQueue();
}
}

Output:

Barisan pekeliling Jawa

Di bawah diberikan adalah tangkapan skrin output selepas pelbagai sisipan dan pemadaman pada Baris Pekeliling:

Kesimpulan

Perihalan di atas menerangkan dengan jelas apa itu CIrcular Queue dan cara ia berfungsi dalam mana-mana bahasa pengaturcaraan. Baris Pekeliling diperkenalkan untuk menyelesaikan had Giliran biasa. Sebelum mengusahakannya, amat penting bagi pengaturcara untuk memahami Baris Gilir terlebih dahulu bersama dengan pelaksanaannya dalam program sebenar.

Atas ialah kandungan terperinci Barisan pekeliling Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Penomboran dalam JawaArtikel seterusnya:Penomboran dalam Jawa