久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java固定長(zhǎng)度隊(duì)列怎么實(shí)現(xiàn)

共計(jì) 1465 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。

在 Java 中,可以使用數(shù)組和循環(huán)來(lái)實(shí)現(xiàn)固定長(zhǎng)度的隊(duì)列。下面是一個(gè)簡(jiǎn)單的示例代碼:

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;
    }
}

在這個(gè)示例中,我們使用一個(gè)數(shù)組來(lái)表示隊(duì)列,使用兩個(gè)指針 frontrear來(lái)記錄隊(duì)列的前端和后端位置,使用一個(gè)變量 size 來(lái)記錄隊(duì)列中的元素?cái)?shù)量,使用一個(gè)變量 capacity 來(lái)記錄隊(duì)列的最大容量。

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

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

isEmpty()方法用于檢查隊(duì)列是否為空,如果隊(duì)列中元素?cái)?shù)量為 0,則返回 true,否則返回 false。

isFull()方法用于檢查隊(duì)列是否已滿,如果隊(duì)列中元素?cái)?shù)量等于最大容量,則返回 true,否則返回 false。

getSize()方法用于獲取隊(duì)列中的元素?cái)?shù)量。

使用示例:

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 類(lèi)來(lái)創(chuàng)建一個(gè)固定長(zhǎng)度為 5 的隊(duì)列,并對(duì)隊(duì)列進(jìn)行操作。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-12發(fā)表,共計(jì)1465字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 镇坪县| 多伦县| 呼和浩特市| 共和县| 澄江县| 克东县| 梧州市| 崇左市| 富裕县| 曲靖市| 萨迦县| 苍溪县| 雷州市| 巢湖市| 襄垣县| 武清区| 东兰县| 浦城县| 乌审旗| 和硕县| 南皮县| 饶平县| 印江| 荔波县| 涟源市| 行唐县| 石城县| 平顶山市| 印江| 清新县| 时尚| 电白县| 邮箱| 环江| 临泉县| 泗水县| 威远县| 磐安县| 宿州市| 哈密市| 山东|