国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧

這篇具有很好參考價(jià)值的文章主要介紹了【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧

  • 博主簡(jiǎn)介:努力學(xué)習(xí)的22級(jí)計(jì)算機(jī)科學(xué)與技術(shù)本科生一枚??
  • 博主主頁: @是瑤瑤子啦
  • 每日一言??: 每一個(gè)不曾起舞的日子,都是對(duì)生命的辜負(fù)?!岵?/b>

一、 模擬實(shí)現(xiàn)循環(huán)隊(duì)列

??622. 設(shè)計(jì)循環(huán)隊(duì)列
【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧

  • ????思路:
    【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧
  • ??數(shù)據(jù)結(jié)構(gòu):使用數(shù)組為數(shù)據(jù)結(jié)構(gòu),且采用犧牲一個(gè)空間的方法來包裝判空和判滿的不同。
    • 判空:Q.rear == Q.front
    • 判滿:Q.rear.next == Q.front/(rear+1)%size == front(滿的時(shí)候可以看上圖,此時(shí)rear指向的空間浪費(fèi)掉了)

?這里就要注意,因?yàn)槭抢速M(fèi)一個(gè)空間來判滿的,所以比如我們需要一個(gè)容量為k的循環(huán)隊(duì)列,那么實(shí)際的物理容量應(yīng)該設(shè)計(jì)為k+1個(gè)!?。。ㄟ@題在下面代碼有體現(xiàn),否則只能存k-1個(gè))!

  • ??頭尾指針含義(重點(diǎn))

    • font:指向隊(duì)頭元素
    • rear:下一個(gè)待插入元素的位置
  • ??

  • ?????♀?代碼:

class MyCircularQueue {
    
    int[] myCircularQueue;
    int front = 0;
    int rear = 0;
    int size = 0;

    //構(gòu)造函數(shù),創(chuàng)建一個(gè)循環(huán)隊(duì)列
    public MyCircularQueue(int k) {
        this.size = k+1;//!注意,這里需要+1
        this.myCircularQueue = new int[size];
    }
    
    //入隊(duì)操作
    public boolean enQueue(int value) {
        if (isFull()){
            return false;
        }
        myCircularQueue[rear] = value;
        rear = (rear+1)%size;
        return true;
    }
    //出隊(duì)操作
    public boolean deQueue() {
        if(isEmpty()){
            return false;
        }
        front = (front + 1)%size;
        return true;
    }
    //讀取隊(duì)頭元素(注意判空)
    public int Front() {
       if(isEmpty()){
           return -1;
       }
       return myCircularQueue[front];
    }
    //讀取隊(duì)尾元素(注意判空)
    public int Rear() {
        if(isEmpty()){
            return -1;
        }
        return myCircularQueue[(rear - 1 + size) % size ];
    }
    //判空
    public boolean isEmpty() {
        if(front == rear){
            return true;
        }
        return false;
    }
    //判滿
    public boolean isFull() {
        if((rear+1)%size == front){
            return true;
        }
        return false;
    }
}

/**
 * Your MyCircularQueue object will be instantiated and called as such:
 * MyCircularQueue obj = new MyCircularQueue(k);
 * boolean param_1 = obj.enQueue(value);
 * boolean param_2 = obj.deQueue();
 * int param_3 = obj.Front();
 * int param_4 = obj.Rear();
 * boolean param_5 = obj.isEmpty();
 * boolean param_6 = obj.isFull();
 */

二、用棧實(shí)現(xiàn)隊(duì)列?

??232. 用棧實(shí)現(xiàn)隊(duì)列
【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧

  • ????思路:
    • 若只有一個(gè)棧stack1,是不可能實(shí)現(xiàn)隊(duì)列的,它可以實(shí)現(xiàn)在“隊(duì)尾”入隊(duì),但不能實(shí)現(xiàn)拿到隊(duì)頭元素
      【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧
    • 于是我們需要一個(gè)輔助的中轉(zhuǎn)棧stack2, 把stack1的元素依次放入,再通過stack2.peek,間接取得隊(duì)頭元素
      【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧
      此時(shí)兩個(gè)棧一起便實(shí)現(xiàn)了隊(duì)列。(注意,當(dāng)stack2為空時(shí),及時(shí)把stack1的元素挪過去?。?br>【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧
  • ?????♀?代碼:
class MyQueue {
   Stack<Integer> stack1;
   Stack<Integer> stack2 ;
    public MyQueue() {
        stack1 = new Stack<>();
        stack2 = new Stack<>();
    }
     /** 添加元素到隊(duì)尾 */
    public void push(int x) {
        stack1.push(x);
    }
    /** 將stack1的元素挪到stack2 */
    public void stack1ToStack2(){
        while(!stack1.empty()){
            stack2.push(stack1.pop());
        }
    }
     /** 刪除隊(duì)頭的元素并返回 */
    public int pop() {
       if(stack2.empty()){
           stack1ToStack2();
       }
       return stack2.pop();
    }
     /** 返回隊(duì)頭元素 */
    public int peek() {
        if(stack2.empty()){
           stack1ToStack2();
       }
       return stack2.peek();
    }
      /** 判斷隊(duì)列是否為空 */
    public boolean empty() {
       return stack1.empty() && stack2.empty();
    }
}

/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue obj = new MyQueue();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.peek();
 * boolean param_4 = obj.empty();
 */

三、225. 用隊(duì)列實(shí)現(xiàn)棧

??225. 用隊(duì)列實(shí)現(xiàn)棧

【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧

  • ????思路:
    • 一個(gè)隊(duì)列實(shí)現(xiàn)棧的問題在于:可以像棧一樣正常入棧,但是隊(duì)列的話只能拿到棧底元素,無法拿到棧頂(隊(duì)尾)元素。
    • 為了解決這個(gè)問題,關(guān)鍵是,如何在正常入棧操作的基礎(chǔ)上,讓新添加元素(即棧頂元素處于隊(duì)頭位置,這才可以始得每次出隊(duì)列(出棧)拿到的是最新添加的棧頂元素。
  • 方法1:?jiǎn)蝹€(gè)隊(duì)列實(shí)現(xiàn)
    即每次加入新元素后,把新元素前面的元素順次彈出,排到該元素后面,即可讓新元素成為隊(duì)頭元素,即棧頂元素。這樣就保證隊(duì)頭元素為棧頂元素。
    【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧
  • ?????♀?代碼:
class MyStack {
    Queue<Integer> queue;

    public MyStack() {
        queue = new LinkedList<>();
    }
    
    public void push(int x) {
        //先直接添加
        queue.offer(x);
        //將新元素(棧頂元素)前的所有元素順次移到棧頂元素之后
        for (int i = 0; i < queue.size() - 1; i++){
            queue.offer(queue.poll());
        }
    }
    
    public int pop() {
        return queue.poll();
    }
    
    public int top() {
        return queue.peek();
    }
    
    public boolean empty() {
        return queue.isEmpty();
    }
}

/**
 * Your MyStack object will be instantiated and called as such:
 * MyStack obj = new MyStack();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.top();
 * boolean param_4 = obj.empty();
 */
  • 方法2:雙隊(duì)列實(shí)現(xiàn)
    本質(zhì)和單隊(duì)列是一樣的,實(shí)現(xiàn)棧的隊(duì)列是queue1,只不過在添加新元素之前,把新元素放在空的輔助隊(duì)列queue2中——使之處于隊(duì)頭(棧頂),然后將queue1中的元素順次移入,此時(shí)再把queue1queue2互換即可(脫褲子放屁的感覺,和方法一基本上是一樣的)
class MyStack {
    Queue<Integer> queue1;
    Queue<Integer> queue2;

    public MyStack() {
        queue1 = new LinkedList<Integer>();
        queue2 = new LinkedList<Integer>();
    }
    
    public void push(int x) {
        queue2.offer(x);
        while (!queue1.isEmpty()) {
            queue2.offer(queue1.poll());
        }
        Queue<Integer> temp = queue1;
        queue1 = queue2;
        queue2 = temp;
    }
    
    public int pop() {
        return queue1.poll();
    }
    
    public int top() {
        return queue1.peek();
    }
    
    public boolean empty() {
        return queue1.isEmpty();
    }
}

??若有疑問的地方,歡迎隨時(shí)在評(píng)論區(qū)or私信找瑤瑤子交流討論??

【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧,數(shù)據(jù)結(jié)構(gòu)|刷題專欄,數(shù)據(jù)結(jié)構(gòu),java,數(shù)據(jù)庫,算法,隊(duì)列,棧

  • Java島冒險(xiǎn)記【從小白到大佬之路】

  • LeetCode每日一題–進(jìn)擊大廠

  • Go語言核心編程

  • 算法文章來源地址http://www.zghlxwxcb.cn/news/detail-681798.html

到了這里,關(guān)于【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列篇| 超清晰圖解和詳解:循環(huán)隊(duì)列模擬、用棧實(shí)現(xiàn)隊(duì)列、用隊(duì)列實(shí)現(xiàn)棧的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu):圖文詳解 隊(duì)列 | 循環(huán)隊(duì)列 的各種操作(出隊(duì),入隊(duì),獲取隊(duì)列元素,判斷隊(duì)列狀態(tài))

    數(shù)據(jù)結(jié)構(gòu):圖文詳解 隊(duì)列 | 循環(huán)隊(duì)列 的各種操作(出隊(duì),入隊(duì),獲取隊(duì)列元素,判斷隊(duì)列狀態(tài))

    目錄 隊(duì)列的概念 隊(duì)列的數(shù)據(jù)結(jié)構(gòu) 隊(duì)列的實(shí)現(xiàn) 入隊(duì) 出隊(duì) 獲取隊(duì)頭元素 獲取隊(duì)列長(zhǎng)度 循環(huán)隊(duì)列的概念 循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu) 循環(huán)隊(duì)列的實(shí)現(xiàn) 判斷隊(duì)列是否為空 判斷隊(duì)列是否已滿 入隊(duì) 出隊(duì) 得到隊(duì)頭元素 得到隊(duì)尾元素 隊(duì)列(Queue)是一種數(shù)據(jù)結(jié)構(gòu),是一種 先進(jìn)先出 (First-

    2024年02月04日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu)—循環(huán)隊(duì)列(環(huán)形隊(duì)列)

    數(shù)據(jù)結(jié)構(gòu)—循環(huán)隊(duì)列(環(huán)形隊(duì)列)

    循環(huán)隊(duì)列是一種線性數(shù)據(jù)結(jié)構(gòu),其操作表現(xiàn)基于 FIFO(先進(jìn)先出)原則并且 隊(duì)尾被連接在隊(duì)首之后以形成一個(gè)循環(huán) 。它也被稱為“ 環(huán)形緩沖器 ”。 循環(huán)隊(duì)列的一個(gè)好處是可以利用這個(gè)隊(duì)列之前用過的空間。在一個(gè)普通隊(duì)列里,一旦一個(gè)隊(duì)列滿了,我們就不能插入下一個(gè)元素

    2024年02月11日
    瀏覽(19)
  • 數(shù)據(jù)結(jié)構(gòu)--隊(duì)列與循環(huán)隊(duì)列

    數(shù)據(jù)結(jié)構(gòu)--隊(duì)列與循環(huán)隊(duì)列

    ? ? ? ? 隊(duì)列是什么,先聯(lián)想一下隊(duì),排隊(duì)先來的人排前面先出,后來的人排后面后出;隊(duì)列的性質(zhì)也一樣,先進(jìn)隊(duì)列的數(shù)據(jù)先出,后進(jìn)隊(duì)列的后出;就像圖一的樣子: ?圖1 ? ? ? ? 如圖1,1號(hào)元素是最先進(jìn)的,開始出隊(duì)時(shí),那么他就是最先出的,然后12進(jìn)隊(duì),就應(yīng)該排在最

    2024年02月10日
    瀏覽(15)
  • 【數(shù)據(jù)結(jié)構(gòu)和算法】--隊(duì)列的特殊結(jié)構(gòu)-循環(huán)隊(duì)列

    【數(shù)據(jù)結(jié)構(gòu)和算法】--隊(duì)列的特殊結(jié)構(gòu)-循環(huán)隊(duì)列

    循環(huán)隊(duì)列是隊(duì)列的一種特殊結(jié)構(gòu),它的 長(zhǎng)度是固定的 k ,同樣是 先進(jìn)先出 ,理論結(jié)構(gòu)是 首尾相連的環(huán)形循環(huán)結(jié)構(gòu) 。其理論結(jié)構(gòu)大致如下: 具體結(jié)構(gòu)描述可以參考 LeetCode : 622. 設(shè)計(jì)循環(huán)隊(duì)列的題目要求,大致如下: 設(shè)計(jì)你的循環(huán)隊(duì)列實(shí)現(xiàn)。 循環(huán)隊(duì)列是一種 線性數(shù)據(jù)結(jié)構(gòu) ,

    2024年02月04日
    瀏覽(16)
  • 數(shù)據(jù)結(jié)構(gòu)之隊(duì)列(源代碼?圖解?習(xí)題)

    數(shù)據(jù)結(jié)構(gòu)之隊(duì)列(源代碼?圖解?習(xí)題)

    ? ? ? ? 在學(xué)過棧之后,會(huì)了解到棧的底層是根據(jù)順序表或者鏈表來構(gòu)建的,那么我們今天要學(xué)習(xí)的隊(duì)列是否也是基于順序表和鏈表呢?那我們直接進(jìn)入正題吧! ? ? ? ? 還是跟上節(jié)一樣,依舊用圖解的方式讓大家更好的理解概念。 ? ? ? ? 隊(duì)列: 隊(duì)列指的是圖中黑色邊框

    2024年02月06日
    瀏覽(17)
  • 數(shù)據(jù)結(jié)構(gòu):循環(huán)隊(duì)列的實(shí)現(xiàn)(leetcode622.設(shè)計(jì)循環(huán)隊(duì)列)

    數(shù)據(jù)結(jié)構(gòu):循環(huán)隊(duì)列的實(shí)現(xiàn)(leetcode622.設(shè)計(jì)循環(huán)隊(duì)列)

    ? 目錄 一.循環(huán)隊(duì)列簡(jiǎn)單介紹 二.用靜態(tài)數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列 1.數(shù)組循環(huán)隊(duì)列結(jié)構(gòu)設(shè)計(jì) 2.數(shù)組循環(huán)隊(duì)列的堆區(qū)內(nèi)存申請(qǐng)接口? 3.數(shù)據(jù)出隊(duì)和入隊(duì)的接口實(shí)現(xiàn) 4.其他操作接口 5.數(shù)組循環(huán)隊(duì)列的實(shí)現(xiàn)代碼總覽? 三.靜態(tài)單向循環(huán)鏈表實(shí)現(xiàn)循環(huán)隊(duì)列? 1.鏈表循環(huán)隊(duì)列的結(jié)構(gòu)設(shè)計(jì) 2.創(chuàng)建靜態(tài)

    2024年02月03日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)】循環(huán)隊(duì)列

    【數(shù)據(jù)結(jié)構(gòu)】循環(huán)隊(duì)列

    ?? 作者簡(jiǎn)介:一名在后端領(lǐng)域?qū)W習(xí),并渴望能夠?qū)W有所成的追夢(mèng)人。 ?? 個(gè)人主頁:蝸牛牛啊 ?? 系列專欄:??數(shù)據(jù)結(jié)構(gòu)、??C++ ?? 學(xué)習(xí)格言:博觀而約取,厚積而薄發(fā) ?? 歡迎進(jìn)來的小伙伴,如果小伙伴們?cè)趯W(xué)習(xí)的過程中,發(fā)現(xiàn)有需要糾正的地方,煩請(qǐng)指正,希望能夠與

    2024年02月12日
    瀏覽(30)
  • 數(shù)據(jù)結(jié)構(gòu)--循環(huán)隊(duì)列、鏈隊(duì)

    //循環(huán)隊(duì)列數(shù)據(jù)結(jié)構(gòu) typedef struct { QElemType data[MaxQSize];//數(shù)據(jù)域 int front,rear; //隊(duì)頭隊(duì)尾指針 }SqQueue; //鏈隊(duì)結(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu) typedef struct QNode { int data;//數(shù)據(jù)域 struct QNode* next;//指針域 }QNode, * QueuePtr; typedef struct { struct QNode* front, * rear;//rear指針指向隊(duì)尾 用于入隊(duì) front指針指向隊(duì)頭 用于

    2024年02月15日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)——循環(huán)隊(duì)列的實(shí)現(xiàn)

    數(shù)據(jù)結(jié)構(gòu)——循環(huán)隊(duì)列的實(shí)現(xiàn)

    hello hello~ ,這里是大耳朵土土垚~???? ,歡迎大家點(diǎn)贊????關(guān)注????收藏?????? ?? 個(gè)人主頁:大耳朵土土垚的博客 ?? 所屬專欄:數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)筆記 ??對(duì)于數(shù)據(jù)結(jié)構(gòu)順序表、鏈表、堆有疑問的都可以在上面數(shù)據(jù)結(jié)構(gòu)的專欄進(jìn)行學(xué)習(xí)哦~ 有問題可以寫在評(píng)論區(qū)或者私信

    2024年03月24日
    瀏覽(23)
  • 九、數(shù)據(jù)結(jié)構(gòu)——順序隊(duì)列中的循環(huán)隊(duì)列

    九、數(shù)據(jù)結(jié)構(gòu)——順序隊(duì)列中的循環(huán)隊(duì)列

    一、循環(huán)隊(duì)列的定義 二、循環(huán)隊(duì)列的實(shí)現(xiàn) 三、循環(huán)隊(duì)列的基本操作 ①初始化 ②判空 ③判滿 ④入隊(duì) ⑤出隊(duì) ⑥獲取長(zhǎng)度 ⑦打印 四、循環(huán)隊(duì)列的應(yīng)用 五、全部代碼 在數(shù)據(jù)結(jié)構(gòu)中,隊(duì)列(Queue)是一種常見的線性數(shù)據(jù)結(jié)構(gòu),遵循先進(jìn)先出(First In First Out,F(xiàn)IFO)的原則。循環(huán)隊(duì)

    2024年02月15日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包