今天,我們拉回來講一講資料結構的佇列!
佇列是乙個在一端進行插入,另一端進行刪除的線性表。
打個比方,排隊買東西,排在最前面的買完東西離開隊伍(刪除),最後將要進入排隊買東西的(插入)排在最後,最後買東西。
通常把佇列的刪除與插入分別稱之出隊和入隊。允許出隊的那頭稱之為隊頭,允許入隊的稱為隊尾。所有進隊的資料必須從隊尾進入,佇列中的資料只能從隊頭出隊。由於先進先出(先進去排隊的就先買東西),這種表就稱為先進先出(fifo)表
是不是矇圈了?不過,我覺得還好。看圖:
這就很清晰明了是不?
分為入隊與出隊:
入隊
int dui[
100000];
int head=
0,tail=1;
voidin(
int x)
出隊int dui[
100000];
int head=
0,tail=1;
voidin(
int&x)
基本在小資料量下不用考慮,但在資料量大時需要考慮:
在上溢情況下,head之前還有空的位置,就是假溢位。
這裡給出思路:
1.tail++;
2.如果tail=n+1,則tail=1;
3.如果(head=tail) //真溢位;
否則dui[tail]=x;
關於佇列的方法,結構特點都講完了,下次就是佇列的實地考察。
期待吧!
關於開始的那些事
人總是有惰性的,當然我自己深有體會。一直有個想法想寫寫自己的blog,但隨時間的推移,很久都沒付出行動。最近工作專案開始不那麼忙了,維護乙份自己的blog的想法愈發強烈了。想把自己的一些想法,或者看到的一些有用的東西給大家分享,也給自己留下成長的痕跡。我從小喜歡看書,各種各樣的書屬於不求甚解的狀態。...
關於coredump的那些事
今天在網上搜了一些有關coredump的知識,簡單記一下,以防忘記 core dump檔名的模式儲存在 proc sys kernel core pattern中,預設是core 主要是今天比較鬱悶,要除錯程式crash,就用ulimit c unlimited設定了一下core檔案的大小,但是測試...
關於STL 的那些事
今晚參加訓練。樹狀陣列的練習,傻乎乎的用stl做了一晚,雖然題沒做出來,不過對stl的查詢有了更深一層的理解。關於stl。輸入輸出 vector push back pop back stack push pop queue push pop 頭 front 尾 back priority queu...