91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java固定長度隊列怎么實現

小億
146
2023-11-16 00:15:49
欄目: 編程語言

在Java中,可以使用數組和循環來實現固定長度的隊列。下面是一個簡單的示例代碼:

public class FixedSizeQueue {
    private int[] queue;
    private int front;
    private int rear;
    private int size;
    private int capacity;

    public FixedSizeQueue(int capacity) {
        this.capacity = capacity;
        queue = new int[capacity];
        front = 0;
        rear = -1;
        size = 0;
    }

    public void enqueue(int item) {
        if (isFull()) {
            throw new RuntimeException("Queue is full");
        }
        rear = (rear + 1) % capacity;
        queue[rear] = item;
        size++;
    }

    public int dequeue() {
        if (isEmpty()) {
            throw new RuntimeException("Queue is empty");
        }
        int item = queue[front];
        front = (front + 1) % capacity;
        size--;
        return item;
    }

    public boolean isEmpty() {
        return size == 0;
    }

    public boolean isFull() {
        return size == capacity;
    }

    public int getSize() {
        return size;
    }
}

在這個示例中,我們使用一個數組來表示隊列,使用兩個指針frontrear來記錄隊列的前端和后端位置,使用一個變量size來記錄隊列中的元素數量,使用一個變量capacity來記錄隊列的最大容量。

enqueue()方法用于向隊列中添加元素,首先檢查隊列是否已滿,如果已滿則拋出異常,否則將rear指針向后移動一個位置,并將元素添加到新位置上。

dequeue()方法用于從隊列中刪除元素,首先檢查隊列是否為空,如果為空則拋出異常,否則將front指針向后移動一個位置,并返回原先front指針位置上的元素。

isEmpty()方法用于檢查隊列是否為空,如果隊列中元素數量為0,則返回true,否則返回false。

isFull()方法用于檢查隊列是否已滿,如果隊列中元素數量等于最大容量,則返回true,否則返回false。

getSize()方法用于獲取隊列中的元素數量。

使用示例:

FixedSizeQueue queue = new FixedSizeQueue(5);
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
queue.enqueue(5);

System.out.println(queue.getSize()); // 輸出:5

System.out.println(queue.dequeue()); // 輸出:1
System.out.println(queue.dequeue()); // 輸出:2

queue.enqueue(6);
queue.enqueue(7);

System.out.println(queue.getSize()); // 輸出:5
System.out.println(queue.isFull()); // 輸出:true

這段示例代碼演示了如何使用FixedSizeQueue類來創建一個固定長度為5的隊列,并對隊列進行操作。

0
江孜县| 阳东县| 柳河县| 京山县| 辽源市| 宜兰县| 宜章县| 乌拉特后旗| 靖宇县| 惠来县| 施秉县| 佳木斯市| 固原市| 富锦市| 忻城县| 南木林县| 托克托县| 米易县| 城固县| 同心县| 志丹县| 区。| 昭觉县| 延边| 柯坪县| 海南省| 蓝田县| 招远市| 乌拉特中旗| 鄯善县| 四会市| 垣曲县| 沈丘县| 磴口县| 横山县| 阿拉善盟| 油尖旺区| 亳州市| 广南县| 灵丘县| 蛟河市|