迴圈佇列超詳細講解

2021-10-23 11:27:20 字數 987 閱讀 6945

## 迴圈佇列

佇列是我們常見的一種資料結構,他的特點就是先進先出fifo,而常見的佇列的效能不能實現所有的空間都被合理的應用,所以就出現的了我們的迴圈佇列

![在這裡插入描述](

這裡我們需要先了解幾個資料的含義

class circlequeue

public boolean isfull()

public boolean isempty()

public void addqueue(int data)

arr[rear] = data;

rear = (rear + 1) % maxsize;

}public int getqueue()

int value = arr[front];//我們要先把這個值記下來,然後在++

front = (front + 1) % maxsize;

return value;

}public void showqueue() // 這裡我們要從front開始遍歷,直到遍歷王我們的所有的有效元素的資料為止

for (int i = front; i < front + size(); i++)

}public int size()

public int headqueue()

return arr[front];

}##**測試

public class circleaueuedemo catch (exception e)

break;

case 'h':

try catch (exception e)

break;

case 'e':

scanner.close();

loop = false;

break;

default:

break;

}system.out.println("程式已退出");}}

BFS例項超詳細講解

例項參考挑戰程式設計bfs的迷宮最短路徑 include define maxn 100 using namespace std const int inf 100000000 typedef pairp 定義乙個pair型別的資料結構 char maze maxn maxn 1 定義乙個儲存輸入資...

大數除法 超詳細講解

大數除法,本人認為是我目前見過大數演算法中最難的乙個 僅僅是個人想法 它與之前的大數加法乘法減法不同,有些難理解,下面我一點一點的分析,講解一下如何去實現大數除法。首先,我們要知道除法中,存在四個常用名稱,被除數,除數,商,餘數 例如 53 8 6 餘 5 其中53 為被除數,8為除數,6為商,5為...

棧 and 佇列 詳細講解

棧與佇列就像一對兄弟一樣,學習的時候可以一塊學習。棧的標頭檔案 include佇列的標頭檔案 include棧的定義 stacks 佇列的定義 queueq 棧的函式 1.s.empty 如果棧s為空,返回true,否則返回false 2.s.size 返回棧的長度 3.s.pop 棧頂元素出棧 4...