Ont)刪除並插入到表格的後端。插入操作的末尾稱為隊列的末尾,刪除操作的末尾稱為隊列的頭。當隊列中沒有元素時,稱為空隊列。在隊列的數據結構中,第壹個插入的元素將首先被刪除;反之,最後插入的元素會被刪除,所以隊列也叫FIFO的線性表——先進先出)。隊列為空的條件:前=後;隊列已滿的條件:rear = MAXSIZE隊列可由數組Q[1…m]存儲,數組的上界m為隊列的最大允許容量。在隊列的操作中,需要設置兩個指針:head,隊列頭指針,指向實際隊列頭元素的前壹個位置;尾部指針Tail指向實際尾部元素的位置。壹般來說,兩個指針的初始值都設置為0,隊列是空的,沒有元素。圖1 (a)顯示了壹個由六個元素組成的隊列,數組定義為Q[1…10]。Q(i) i=3,4,5,6,7,8頭=2指針= 2,尾=8指針= 8。隊列中元素的數量是:L =尾頭。要使頭部的元素出隊,需要在頭部指針上加上1。即head=head+1。此時頭指針上移壹個位置,指向Q(3),表示Q(3)已經出列。參見圖1 (b)。如果妳想給壹個新元素排隊,妳需要把尾部指針上移壹個位置。即tail=tail+1。這時Q(9)進入隊伍,如圖1 (c)。當隊列的尾部在頂部已經處理完,即tail=10,要進行隊列操作就會發生“溢出”,但隊列中實際上有三個空位置,所以這種溢出稱為“假溢出”。有兩種方法可以克服虛假溢出。壹種是將隊列中的元素全部移到低位地址區,這顯然是浪費時間;另壹種方法是將數組存儲區看作壹個首尾相連的環形區域。當存儲在N地址時,下壹個地址將“翻轉”到1。這種技術存儲的隊列稱為循環隊列。隊列和堆棧壹樣,只允許在斷點處插入和刪除元素。加入循環隊列的算法如下:1,tail = tail+1;2.如果tail=n+1,那麽tail = 1;3.如果head=tail的尾指針與頭指針重合,則表示該元素充滿隊列,處理溢出錯誤;4.否則Q(tail)=X,結尾(X是新的in-out元素)。隊列和棧壹樣,被廣泛使用。
特定在線搜索:
另外,虛擬機群上的產品團購超級便宜。