Rumah Java javaTutorial Bagaimana untuk melaksanakan operasi sisipan dan pemadaman baris gilir dalam Java

Bagaimana untuk melaksanakan operasi sisipan dan pemadaman baris gilir dalam Java

Dec 27, 2023 am 09:02 AM
operasi baris gilir java Java melaksanakan pemasukan dan pemadaman baris gilir operasi penyisipan dan pemadaman baris gilir java

Bagaimana untuk melaksanakan operasi sisipan dan pemadaman baris gilir dalam Java

Cara melaksanakan operasi sisipan dan pemadaman baris gilir dalam Java

Baris gilir ialah struktur data yang biasa digunakan yang mengikut prinsip masuk dahulu keluar dahulu (FIFO). Di Java, baris gilir boleh dilaksanakan menggunakan tatasusunan atau senarai terpaut. Kedua-dua kaedah pelaksanaan akan diperkenalkan di bawah dan contoh kod akan diberikan.

  1. Gunakan tatasusunan untuk melaksanakan baris gilir:

Idea untuk melaksanakan baris gilir dengan tatasusunan ialah menggunakan tatasusunan sebagai struktur data asas baris gilir, dan melaksanakan operasi sisipan dan pemadaman dengan mengekalkan kepala dan ekor petunjuk.

Contoh kod:

public class ArrayQueue {
    private int[] queueArray;    // 队列数组
    private int front;  // 队头指针
    private int rear;   // 队尾指针
    private int maxSize;    // 队列的最大容量

    public ArrayQueue(int size) {
        queueArray = new int[size];
        maxSize = size;
        front = 0;
        rear = -1;
    }

    // 入队操作
    public void enqueue(int data) {
        if (isFull()) {
            throw new IllegalStateException("队列已满,无法入队");
        }
        rear++;
        queueArray[rear] = data;
    }

    // 出队操作
    public int dequeue() {
        if (isEmpty()) {
            throw new IllegalStateException("队列为空,无法出队");
        }
        int data = queueArray[front];
        front++;
        return data;
    }

    // 判断队列是否为空
    public boolean isEmpty() {
        return (rear + 1 == front);
    }

    // 判断队列是否已满
    public boolean isFull() {
        return (rear == maxSize - 1);
    }
}
Salin selepas log masuk
  1. Menggunakan senarai terpaut untuk melaksanakan baris gilir:

Idea senarai terpaut yang melaksanakan baris gilir adalah untuk melaksanakan operasi sisipan dan pemadaman dengan mengekalkan penunjuk ke kepala baris gilir dan penunjuk ke ekor barisan. Setiap kali elemen baharu disisipkan, ia ditambahkan pada penghujung baris gilir, dan penuding di penghujung baris gilir menghala ke elemen baharu setiap kali elemen dipadamkan, penunjuk di kepala baris gilir menghala ke; elemen seterusnya.

Contoh kod:

public class LinkedQueue {
    private Node front;    // 队头指针
    private Node rear;     // 队尾指针

    public LinkedQueue() {
        front = null;
        rear = null;
    }

    // 节点类
    private class Node {
        private int data;   // 数据
        private Node next;  // 指向下一个节点的指针

        public Node(int data) {
            this.data = data;
            this.next = null;
        }
    }

    // 入队操作
    public void enqueue(int data) {
        Node newNode = new Node(data);
        if (isEmpty()) {
            front = newNode;
            rear = newNode;
        } else {
            rear.next = newNode;
            rear = newNode;
        }
    }

    // 出队操作
    public int dequeue() {
        if (isEmpty()) {
            throw new IllegalStateException("队列为空,无法出队");
        }
        int data = front.data;
        front = front.next;
        if (front == null) {
            rear = null;
        }
        return data;
    }

    // 判断队列是否为空
    public boolean isEmpty() {
        return (front == null);
    }
}
Salin selepas log masuk

Di atas ialah dua cara untuk melaksanakan operasi sisipan dan pemadaman baris gilir dalam Java. Menggunakan pelaksanaan tatasusunan boleh meningkatkan kecekapan capaian rawak pada tahap tertentu, manakala menggunakan pelaksanaan senarai terpaut adalah lebih fleksibel dan boleh melaraskan saiz baris gilir secara dinamik. Pilih sahaja kaedah pelaksanaan yang sesuai mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi sisipan dan pemadaman baris gilir dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)