2016-07-22 56 views
1

我創建了一個大小爲5的隊列。我在隊列中插入了5個值(1,2,3,4,5)。現在我的前值在索引0處,我的後端值指向索引4(我的隊列的最後一個位置)。現在我從隊列中刪除了一個元素,所以我的隊列現在只有(2,3,4,5)。現在我的隊列沒有滿,因爲它有一個空閒的位置。只有4個值被填充,一個值被刪除。我怎樣才能在隊列中的空白位置輸入新值?如何在隊列已滿並且某些值被刪除後將元素添加到隊列中?

回答

0

你必須使用

對於排隊:

rear = (rear+1)%MAX_SIZE; 

所以現在,當後方是在末端位置,前面有免費的空間,然後將下面的代碼將開始返回圓指數辦法。

對於出列:

front = (front+1)%MAX_SIZE; 

在出隊的情況相似。

注:

你必須把的,如果數組是在你的代碼空或滿的狀態。 另外,如果前後位置相同,則表示陣列現在爲空,您必須將它們都指定爲空位置索引。

-1

設置此條件 1.如果(COUNT = MAX)那麼 a。顯示「隊列溢出」; b。返回; 2.否則 a。如果(REAR = MAX)那麼 i。 REAR:= 1; b。否則 i。 REAR:= REAR + 1; c。 QUEUE(REAR):= ITEM; d。 COUNT:= COUNT + 1; 3.退貨;