C語言這道題迴圈佇列元素個數怎麼算

2022-02-19 08:22:54 字數 2309 閱讀 8877

1樓:榮半雪鮮嬌

s表示的是迴圈佇列的成員個數

front是佇列的頭指標

rear是佇列的尾指標

s=0表示迴圈佇列中的成員個數為0,當然也就是佇列為空了s=1表示迴圈佇列中的成員個數為1,front=rear說明佇列的頭指標和尾指標都指向同一個佇列成員,也就是說這個/佇列已經封閉了(首尾已經相接),那麼這個佇列也就滿了

>>front=rear=m其中的m也不曉得是什麼了這個m就是具體的成員的地址了,front=rear=m,m就成了當前迴圈佇列中唯一的成員

2樓:建之愚衍

應該是:q->front=(q->front+1)%queuesize迴圈佇列的設計思路是:設想向量q->data[queuesize]是一個首尾相接的圓環,即q->data[0]接在q->data[queuesize-1]之後,這種意義下的向量稱為迴圈向量,並將迴圈向量中的佇列稱為迴圈佇列。

針對你這道題,queuesize為10,所以陣列最大下標為9,則array[9]的下一個元素為array[0]來實現迴圈。舉個例子來說吧,出隊操作,在迴圈意義下頭指標加1,如果q->front現在為9(即指向下標為9的元素),則(q->front+1)%10為(9+1)%10結果為0,所以代表出隊後q->front為0(即指向下標為0的元素),從而實現迴圈。

c語言這道題迴圈佇列元素個數怎麼算

3樓:藤原子大雄

應該是:q->front=(q->front+1)%queuesize迴圈佇列的設計思路是:設想向量q->data[queuesize]是一個首尾相接的圓環,即q->data[0]接在q->data[queuesize-1]之後,這種意義下的向量稱為迴圈向量,並將迴圈向量中的佇列稱為迴圈佇列。

針對你這道題,queuesize為10,所以陣列最大下標為9,則array[9]的下一個元素為array[0]來實現迴圈。舉個例子來說吧,出隊操作,在迴圈意義下頭指標加1,如果q->front現在為9(即指向下標為9的元素),則(q->front+1)%10為(9+1)%10結果為0,所以代表出隊後q->front為0(即指向下標為0的元素),從而實現迴圈。

4樓:gta小雞

front=rear說明迴圈佇列為空,其中元素為0個。

迴圈佇列的元素個數怎麼表示?

5樓:匿名使用者

front為對頭指標,rear為對尾指標,n為佇列最大元素個數. 佇列元素個數=(rear-front 1 n)%n %是求餘數

求迴圈佇列的元素個數 5

6樓:匿名使用者

不是吧?

具體**我就不寫了,說說我的思路吧。

先設定一個計數器(int i = 0),在迴圈中依次判斷每個單元是否為空,不為空則i++ ,為空就不管。呵呵

迴圈佇列中元素的個數問題

7樓:尤允兒

答案是0或35。前提條件是:此迴圈佇列的儲存空間全部用於儲存資料,而沒有留出一個儲存空間用於判別隊滿與隊空。

在上述迴圈佇列中,當front = rear時,有可能是隊空:先入隊15個元素,rear = 15;再出隊15個元素,front = 15。有可能是隊滿:

先入隊15個元素,rear = 15;再出隊15個元素,front = 15;最後再入隊35個元素,rear指標迴圈一圈後再次等於15。

應注意,上述的迴圈佇列由於無法判別隊滿與隊空,導致其產生二義性(即有歧義),可用性降低。因此,改進的方法是少用一個儲存空間,即佇列最大隻儲存34個元素,此時可用下列方法區分隊滿與隊空:

1、隊滿:(rear + 1)% maxsize == front

2、隊空:rear == front

計算佇列的元素個數:(尾-頭+表長)%表長,佇列頭指標為front,佇列尾指標為rear,佇列容量為m,則元素個數為|rear-front+m|%m,注意,這個%是求餘運算。

為充分利用向量空間,克服"假溢位"現象的方法是:將向量空間想象為一個首尾相接的圓環,並稱這種向量為迴圈向量。儲存在其中的佇列稱為迴圈佇列(circular queue)。

這種迴圈佇列可以以單連結串列的方式來在實際程式設計應用中來實現。

8樓:匿名使用者

給你一個公式,佇列元素=(尾指標-頭指標+佇列容量)%佇列容量,所以答案是20.

9樓:二號吉爾

能解釋一下是為什麼嗎?

10樓:手機使用者

你發的地方不好。。。最好是到貼吧發貼謝謝

c語言這道題怎麼做,C語言這道題怎麼做

我寫這個,修改常量可以實現任意長度陣列間任意長度降序排列。include define maxlen 10 陣列總長度 define midlen 8 中間需要排序的長度,修改時確保midlen小於等於maxlen 並且 maxlen midlen為偶數或0 int main pb while pb...

這道c語言程式設計題該怎麼做,這道C語言程式設計題該怎麼做!

include void main void sort int array,int n 可以用氣泡排序演算法來解決。include void sort int items,int count int main 回答您好,我這邊正在為您查詢,請稍等片刻,我這邊馬上回復您 開心 提問回答 您好可以以文字...

C語言程式設計題,求助大神c語言程式這道題怎麼做,求助大神

100不夠幫你寫的,思路 不懂,追問吧?include include unsigned int calcdayofmonth unsigned int year,unsigned int month bool isleapyear unsigned int year struct time tim...