假設以陣列A存放迴圈佇列的元素,其頭指標是front

2021-03-03 21:22:49 字數 1131 閱讀 2089

1樓:林克謝

d頭指標為42,到下乙個數的時候,指標+1變成43,所以到50的時候,指標為92

乙個迴圈佇列用陣列a[m]存放元素,已知其頭、尾指標分別是front和rear,則當前佇列中有 (b) 個元素。

2樓:w大少

b. (rear – front + 1 + m)% m

這是求m的模運算,即:m % m = 0.

b 選項的分子上的 +m 主要是為了解決當rear的值小於 front的值的情況,即:rear 已經是轉了一圈了!故再加上乙個m ,保證分子為大於0的!

假設以陣列a[m]存放迴圈佇列的元素,其頭尾指標分別為front和rear,則當前佇列中的元素個數為

3樓:匿名使用者

int n = (near-front)/sizeof(*front) +1;

if (n <= 0) n=m-n;

//然後n就是元素個數

迴圈佇列用陣列a[0,m-1]存放其元素值,已知其頭尾指標分別是front和rear,則當前佇列中的元素個數是

4樓:谷合英敏巳

a因為是迴圈佇列,所以有可能會發生rear在front之前的情況,所以選擇a。

5樓:洛雨曦

迴圈佇列元素個數:n=(rear-front+ m) mod m

mod 為取餘數運算。

【**等】迴圈佇列用陣列a[0,m-1]存放其元素值,已知其頭尾指標分別是front和rear,

6樓:匿名使用者

a 因為是迴圈佇列,所以有可能會發生rear在front之前的情況,所以選擇a。

7樓:史光光帥

rear尾指標始終指向佇列的下一位置,每當插入元素師尾指標加1,刪除佇列的頭元素時,頭指標曾一,如果不是迴圈對列當前佇列中的元素個數是rear-front;迴圈佇列就像始終一樣比如現在front指向6點,rear指向12點,現在元素個數是6個,當再插入時rear就指向了1點當前元素個數就是((1-6)+12)%12=7還不明白就看看有模運算

C語言 for迴圈輸出陣列的問題

include include typedef int elemtype typedef int status typedef struct lnode lnode,linklist 如果i小於1或者大於表長加1,則返回error if p j i 1 s linklist malloc sizeo...

C 語言中,用for迴圈輸入一維陣列int a0for int i 0 i

不行,陣列必須有實際大小,才能分配記憶體 你這樣寫這個陣列就只有乙個元素 c 中我要用乙個for迴圈語句輸入一維陣列for int i 0 i include using namespace std int main c 語言當中的程式設計 for int i 0 i 5 i 這段話是什麼意思呢 1...

c從鍵盤輸入學生的成績存放在陣列中,實現由大到小排序後輸出,程式設計

int num new int 10 for int i 0 i num.length i 個數值 i 1 num i convert.toint32 console.readline int temp 0 for int i 0 i num.length 1 i for int i 0 i num...